import{_ as b,S as D}from"./Search-b72ba7ee.js";import{U as A}from"./Ui2Select-9cb3bfa9.js";import{U as C}from"./Ui2Button-c1894a5f.js";import{P as F}from"./PageHeader-e487f1e8.js";import{b as w}from"./helperFunction-a3b59269.js";import{U as B}from"./Ui2Toggle-fbf06128.js";import{J as h,K as x,u as r,L as d,M as R,O as l,D as U,A as g,y as P,P as c,B as n,v as m,C as z,x as f,F as _,Q as I,R as N}from"./axios-b23fbcb6.js";import{F as q}from"./FormComponent-a2574b64.js";import"./index.esm-7bf94407.js";import"./api.esm-f65d2d14.js";import"./Ui2Input-e5b1217e.js";import"./Ui2InputMask-ec5356ed.js";const J={name:"audiorecordonefile",components:{PageHeader:F,Ui2Select:A,Ui2Button:C,Ui2InlineMessage:B},props:{page:{type:String,required:!1,default:null},title:{type:String,required:!1,default:"Voice Message"},hideTitle:{type:Boolean,required:!1,default:!1},fileName:{type:String,required:!1,default:"default"},getUrl:{type:String,required:!0},updateUrl:{type:String,required:!0},deleteUrl:{type:String,required:!0},size:{type:String,required:!1,default:"large"},isCarpentersDispatch:{type:Boolean,required:!1,default:!1},editIsAvailable:{type:Boolean,default:!0}},emits:["onFileLoaded","onFileRemoved"],data(){return{showAudioRecordBlock:!1,mic:null,mics:[],enabled:!1,recorder:null,recording:!1,paused:!1,newAudioRecorded:!1,savingFile:!1,deletingFile:!1,audioData:null,audioSrc:null,downloadUrl:null,fileExtension:"wav",error:null}},computed:{recordIsAvailable(){return!this.recording&&this.enabled&&!this.error&&this.editIsAvailable},isShowAudioRecordBlock(){return this.isJobDetailsPage?this.showAudioRecordBlock:!0},isJobDetailsPage(){return this.page==="jobDetails"},fileFullName(){return this.fileName+"."+this.fileExtension}},watch:{mic(t){this.getStream({audio:{deviceId:{exact:t}},video:!1})}},mounted(){this.getLocalStream()},methods:{handlerShowAudioRecordBlock(){this.showAudioRecordBlock=this.showAudioRecordBlock!==!0},downloadAudioFile(){this.downloadUrl&&(window.location.href=this.downloadUrl)},getLocalStream(){this.getCurrentIvrFile(),navigator.mediaDevices.getUserMedia({video:!1,audio:!0}).then(t=>{this.setAvailableInputMics()}).catch(t=>{this.error="Please enable microphone permissions for page.",console.error(`you got an error: ${t}`)})},getCurrentIvrFile(){this.axios.get(this.getUrl).then(t=>{var i,e;(i=t==null?void 0:t.data)!=null&&i.listen&&(this.audioSrc=t.data.listen,this.$emit("onFileLoaded")),(e=t==null?void 0:t.data)!=null&&e.download&&(this.downloadUrl=t.data.download)}).catch(t=>{w.response.error(t)}).finally(()=>{})},setAvailableInputMics(){let t=this;navigator.mediaDevices.enumerateDevices().then(i=>{let e=0;i.forEach((s,a)=>{s.kind==="audioinput"&&(a===0&&(t.mic=s.deviceId),t.mics.push({title:s.label,value:s.deviceId}),++e)}),e===0&&(t.enabled=!1,t.error="No input audio devices found.")}).catch(i=>{t.enabled=!1,t.error=`${i.name}: ${i.message}`,console.error(`enumerateDevices / ${i.name}: ${i.message}`)})},getStream(t){return t||(t={audio:!0,video:!1}),navigator.mediaDevices.getUserMedia(t).then(this.onSuccessNavigator,this.onErrorNavigator)},onSuccessNavigator(t){let i=this;this.enabled=!0,this.error=null,this.recorder=new MediaRecorder(t),this.recorder.onstop=this.onStopRecord,this.recorder.ondataavailable=function(e){i.audioData=e.data}},onErrorNavigator(t){this.enabled=!1,this.error=`${t.name}: ${t.message}`,console.log("The following error occured: "+t)},onStopRecord(t){const i=this,e=i.audioData;i.audioData=null,e.arrayBuffer().then(s=>{new AudioContext().decodeAudioData(s,function(o){i.audioData=new Blob([new DataView(audioBufferToWav(o))],{type:"audio/wav"}),i.audioSrc=window.URL.createObjectURL(i.audioData),i.downloadUrl=i.audioSrc})})},start(){let t=this;swal({title:"Are you sure to start new record?",text:"After recording need to click Save button to save new recorded audio.",type:"warning",showCancelButton:!0,confirmButtonColor:"#2780e3",confirmButtonText:"Yes!",cancelButtonText:"No",showLoaderOnConfirm:!0,reverseButtons:!0}).then(function(){t.recording=!0,t.recorder.start()},function(i){return!1})},stop(){this.recording=!1,this.paused=!1,this.newAudioRecorded=!0,this.recorder.stop()},pause(){this.paused=!0,this.recorder.pause()},resume(){this.paused=!1,this.recorder.resume()},saveFile(){let t=this;const i=new FormData;let e=new File([this.audioData],this.fileFullName);i.append("file",e,e.name),this.savingFile=!0,this.axios.post(this.updateUrl,i).then(s=>{var a,o;(a=s==null?void 0:s.data)!=null&&a.listen&&(t.audioSrc=s.data.listen,this.$emit("onFileLoaded")),(o=s==null?void 0:s.data)!=null&&o.download&&(t.downloadUrl=s.data.download),t.newAudioRecorded=!1,t.savingFile=!1}).catch(s=>{t.savingFile=!1,w.response.error(s)}).finally(()=>{})},deleteFile(){let t=this;this.deletingFile=!0,this.axios.delete(this.deleteUrl).then(i=>{t.audioSrc=!1,t.deletingFile=!1,this.$emit("onFileRemoved")}).catch(i=>{var e;t.deletingFile=!1,(e=i==null?void 0:i.response.data)==null||e.message}).finally(()=>{})}}},L=t=>(I("data-v-5c9cb9c5"),t=t(),N(),t),T={class:"row"},M={class:"pull-right"},V={key:0,class:"col-md-12 text-center"},E={class:"well well-sm"},O={class:"text-danger pull-right"},j={class:"panel-body"},H={key:1,class:"row"},K={class:"p-buttonset"},Q=L(()=>l("br",null,null,-1)),W={key:2,class:"row"},Y=["src"],G={class:"p-buttonset"},X={key:3};function Z(t,i,e,s,a,o){const v=h("PageHeader"),y=h("Ui2InlineMessage"),S=h("Ui2Select"),u=h("Ui2Button"),k=x("tooltip");return r(),d(_,null,[o.isJobDetailsPage?(r(),d("div",{key:0,class:"panel-heading",style:R({borderTop:"1px solid #ddd",borderBottom:o.isShowAudioRecordBlock?"1px solid #ddd":"none",cursor:"pointer"})},[l("div",T,[l("div",{class:"col-md-12",onClick:i[0]||(i[0]=(...p)=>o.handlerShowAudioRecordBlock&&o.handlerShowAudioRecordBlock(...p))},[U(g(e.title)+" ",1),l("div",M,[P(l("i",{class:c({"fa fa-chevron-down":!o.isShowAudioRecordBlock,"fa fa-chevron-up":o.isShowAudioRecordBlock})},null,2),[[k,o.isShowAudioRecordBlock?`Hide ${e.title}`:`Show ${e.title}`,void 0,{top:!0}]])])])])],4)):n("",!0),o.isJobDetailsPage&&o.isShowAudioRecordBlock||!o.isJobDetailsPage?(r(),d("div",{key:1,class:c({row:o.isJobDetailsPage})},[l("div",{class:c({"col-md-12":o.isJobDetailsPage})},[l("section",{class:c({"panel panel-default panel-grid":!e.isCarpentersDispatch&&!o.isJobDetailsPage,row:(e.isCarpentersDispatch||o.isJobDetailsPage)&&!e.hideTitle})},[(e.isCarpentersDispatch||o.isJobDetailsPage)&&!e.hideTitle?(r(),d("div",V,[l("div",E,[l("b",null,g(e.title),1)])])):n("",!0),!e.isCarpentersDispatch&&!o.isJobDetailsPage&&!e.hideTitle?(r(),m(v,{key:1,name:e.title,class:"borderBotPanel"},{rightbar:z(()=>[l("div",O,g(a.error),1)]),_:1},8,["name"])):n("",!0),l("div",j,[(e.isCarpentersDispatch||o.isJobDetailsPage)&&a.error?(r(),d("div",{key:0,class:c({row:!e.hideTitle})},[l("div",{class:c({"col-md-12":!e.hideTitle})},[f(y,{"message-classes-object":{flex:!0,"align-items-center":!0},message:a.error,type:"info","text-align":"center"},null,8,["message"])],2)],2)):n("",!0),e.editIsAvailable?(r(),d("div",H,[a.enabled&&!a.error?(r(),d("div",{key:0,class:c({"col-md-4":e.size==="large","col-md-6":e.size==="medium"})},[f(S,{modelValue:a.mic,"onUpdate:modelValue":i[1]||(i[1]=p=>a.mic=p),options:a.mics},null,8,["modelValue","options"])],2)):n("",!0),l("div",{class:c({"col-md-4":e.size==="large","col-md-6":e.size==="medium"})},[l("span",K,[o.recordIsAvailable?(r(),m(u,{key:0,label:"Record",color:"primary",size:"md",icon:"fa fa-microphone fa-fw",onClick:o.start},null,8,["onClick"])):n("",!0),a.recording&&!a.paused?(r(),m(u,{key:1,label:"Pause",color:"warning",size:"md",style:{marginLeft:"5px"},icon:"fa fa-pause fa-fw",onClick:o.pause},null,8,["onClick"])):n("",!0),a.recording&&a.paused?(r(),m(u,{key:2,label:"Resume",color:"success",size:"md",style:{marginLeft:"5px"},icon:"fa fa-microphone fa-fw",onClick:o.resume},null,8,["onClick"])):n("",!0),a.recording?(r(),m(u,{key:3,label:"Stop",color:"danger",size:"md",style:{marginLeft:"5px"},icon:"fa fa-stop fa-fw",onClick:o.stop},null,8,["onClick"])):n("",!0)])],2)])):n("",!0),Q,a.audioSrc?(r(),d("div",W,[l("div",{class:c({"col-md-4":e.size==="large","col-md-7":e.size==="medium"})},[l("audio",{controls:"",src:a.audioSrc},null,8,Y)],2),l("div",{class:c({"col-md-7":e.size==="large","col-md-5":e.size==="medium"})},[l("span",G,[f(u,{label:"Download",color:"primary",size:"md",icon:"fa fa-download fa-fw","only-icon":e.size==="medium",onClick:o.downloadAudioFile},null,8,["only-icon","onClick"]),e.editIsAvailable?(r(),d(_,{key:0},[f(u,{label:"Delete",color:"danger",size:"md",style:{marginLeft:"5px"},icon:"fa fa-trash fa-fw","only-icon":e.size==="medium",loading:a.deletingFile,onClick:o.deleteFile},null,8,["only-icon","loading","onClick"]),a.newAudioRecorded?(r(),m(u,{key:0,class:"ml-5",label:"Save",color:"success",size:"md",style:{marginLeft:"5px"},icon:"fa fa-save fa-fw","only-icon":e.size==="medium",loading:!a.recording&&a.savingFile,onClick:o.saveFile},null,8,["only-icon","loading","onClick"])):n("",!0)],64)):n("",!0)])],2)])):!a.audioSrc&&(e.isCarpentersDispatch||o.isJobDetailsPage)?(r(),d("div",X,[f(y,{message:"Audio Not Found","message-classes-object":{flex:!0,"align-items-center":!0},type:"info","text-align":"center"})])):n("",!0)])],2)],2)],2)):n("",!0)],64)}const $=b(J,[["render",Z],["__scopeId","data-v-5c9cb9c5"]]),ee={name:"registeruseraccountpageuib",components:{FormComponent:q},props:{title:{type:String,required:!0},role:{type:String,required:!0},states:{type:Array,required:!1,default:()=>[]},formAction:{type:String,required:!0},honeypot:{type:[Object,Array],required:!1,default:()=>[]},enableReCaptcha:{type:Boolean,required:!0},captchaSiteKey:{type:[String,Number],required:!1,default:null},clientName:{type:String,required:!1,default:null}}},te={class:"row"},ie={class:"col-md-10 col-md-offset-1"},oe={class:"panel panel-default"},ae={class:"panel-heading"},le={class:"panel-body"};function se(t,i,e,s,a,o){const v=h("FormComponent");return r(),d("div",te,[l("div",ie,[l("div",oe,[l("div",ae,g(e.title),1),l("div",le,[f(v,{role:e.role,states:e.states,"form-action":e.formAction,honeypot:e.honeypot,"enable-re-captcha":e.enableReCaptcha,"captcha-site-key":e.captchaSiteKey,"client-name":e.clientName},null,8,["role","states","form-action","honeypot","enable-re-captcha","captcha-site-key","client-name"])])])])])}const re=b(ee,[["render",se]]),ne=async()=>({Search:D,AudioRecordOneFile:$,RegistrationUserAccountPageUib:re}),be={components:ne};export{be as default};
