1"use strict";(self["webpackChunkcyrisk"]=self["webpackChunkcyrisk"]||[]).push([[3127],{3941:function(e,t,r){r.d(t,{A:function(){return F}});var a=r(96913);function o(e,t,r,o,i,n){const l=(0,a.resolveComponent)("add-requirement"),s=(0,a.resolveComponent)("dx-scroll-view"),d=(0,a.resolveComponent)("dx-popup");return(0,a.openBlock)(),(0,a.createElementBlock)("div",{id:"add-requirement-button",name:"add-reqs","aria-label":"add requirements",role:"button",class:"blank-button",onClick:t[1]||(t[1]=(...e)=>n.addRequirement&&n.addRequirement(...e))},[t[2]||(t[2]=(0,a.createElementVNode)("i",{class:"fas fa-plus"},null,-1)),(0,a.createTextVNode)(" Add "+(0,a.toDisplayString)(n.displayType)+" ",1),(0,a.createVNode)(d,{height:e.gPopupHeight(400),width:e.gPopupWidth(500),title:"Add "+r.type,visible:i.popupOpen,"onUpdate:visible":t[0]||(t[0]=e=>i.popupOpen=e)},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)("div",null,[i.popupOpen?((0,a.openBlock)(),(0,a.createBlock)(s,{key:0},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(l,{targetID:r.targetID,type:r.type,onUpdated:n.updated,showAll:r.showAll},null,8,["targetID","type","onUpdated","showAll"])],void 0,!0),_:1})):(0,a.createCommentVNode)("",!0)])],void 0,!0),_:1},8,["height","width","title","visible"])])}var i=r(679);const n={id:"add-requirements"},l={key:0,class:"text-center"},s={key:0,class:"text-center pt-5"},d={key:1,class:"pt-2"},c={key:0,class:"pb-2"},m={key:1},p={key:2,class:"share-assessment pb-4"},u={class:"summary-wrap"},h={key:3,class:"p-4"};function g(e,t,r,o,i,g){const y=(0,a.resolveComponent)("preloader"),k=(0,a.resolveComponent)("dx-select-box"),v=(0,a.resolveComponent)("DxCustomRule"),b=(0,a.resolveComponent)("DxValidator"),f=(0,a.resolveComponent)("DxTextBox"),w=(0,a.resolveComponent)("DxValidationSummary"),q=(0,a.resolveComponent)("DxValidationGroup");return(0,a.openBlock)(),(0,a.createElementBlock)("div",n,[i.target&&"vendor"===i.target.type&&i.sendingFW?((0,a.openBlock)(),(0,a.createElementBlock)("div",l,[...t[3]||(t[3]=[(0,a.createElementVNode)("p",null," We are currently sending the assigned compliance framework to your vendor. ",-1),(0,a.createElementVNode)("p",null," This process may take a few minutes. Please do not close this window. ",-1),(0,a.createElementVNode)("p",null,"Your patience is greatly appreciated.",-1)])])):(0,a.createCommentVNode)("",!0),i.loading?((0,a.openBlock)(),(0,a.createBlock)(y,{key:1})):i.loading||i.error?(0,a.createCommentVNode)("",!0):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[g.noneAvailable?((0,a.openBlock)(),(0,a.createElementBlock)("div",s," All available frameworks have been added. ")):((0,a.openBlock)(),(0,a.createElementBlock)("div",d,[t[6]||(t[6]=(0,a.createElementVNode)("label",null,"Select Framework",-1)),(0,a.createVNode)(k,{ref:"select-requirements",items:g.availableFrameworks,"item-template":"item","search-enabled":!0,"show-data-before-search":!0,"display-expr":g.selectOptionDisplay,modelValue:i.selectedFramework,"onUpdate:modelValue":t[0]||(t[0]=e=>i.selectedFramework=e),id:"addRequirementDx","input-attr":{name:"addRequirement",id:"addRequirement","aria-label":"enter addRequirement"},class:"mb-4"},null,8,["items","display-expr","modelValue"]),i.selectedFramework&&"vendor"===i.target.type?((0,a.openBlock)(),(0,a.createElementBlock)("div",c,[(0,a.createTextVNode)(" In order to invite someone to collaborate on this assessment, please enter their email below. The email entered below must be on one of the domains associated with "+(0,a.toDisplayString)(i.target.target_name)+'. If not, please input "',1),t[4]||(t[4]=(0,a.createElementVNode)("strong",null,"none",-1)),t[5]||(t[5]=(0,a.createTextVNode)('" to proceed. ',-1))])):(0,a.createCommentVNode)("",!0),i.selectedFramework&&"vendor"===i.target.type?((0,a.openBlock)(),(0,a.createElementBlock)("label",m,"User Email")):(0,a.createCommentVNode)("",!0),i.selectedFramework&&"vendor"===i.target.type?((0,a.openBlock)(),(0,a.createElementBlock)("div",p,[(0,a.createVNode)(q,{name:"vendor-notify-check",id:"requirementGroup"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(f,{id:"email-dx","input-attr":{name:"email",id:"email","aria-label":"enter email"},type:"text",modelValue:i.email,"onUpdate:modelValue":t[1]||(t[1]=e=>i.email=e)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(b,{validationGroup:"requirementGroup"},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(v,{validationCallback:g.customValidateEmail,message:"Email is invali
1d"},null,8,["validationCallback"]),(0,a.createVNode)(v,{"validation-callback":g.customRule,message:"Email domain must match one of the company's domains"},null,8,["validation-callback"])],void 0,!0),_:1})],void 0,!0),_:1},8,["modelValue"]),(0,a.createElementVNode)("div",u,[(0,a.createVNode)(w,{id:"notify-summary",validationGroup:"requirementGroup"})])],void 0,!0),_:1})])):(0,a.createCommentVNode)("",!0),i.selectedFramework&&g.canSubmit?((0,a.openBlock)(),(0,a.createElementBlock)("div",{key:3,class:"blu-button text-center",onClick:t[2]||(t[2]=(...e)=>g.addRequirement&&g.addRequirement(...e)),id:"add-reqs",name:"add-reqs","aria-label":"add requirements",role:"button"}," Add As New "+(0,a.toDisplayString)(g.displayType),1)):(0,a.createCommentVNode)("",!0)]))],64)),i.error?((0,a.openBlock)(),(0,a.createElementBlock)("div",h,[...t[7]||(t[7]=[(0,a.createStaticVNode)('<p class="text-center big mb-3"><i class="fas fa-exclamation-triangle error big"></i></p><h1 class="error text-center mb-3"> Oops, something has gone terribly wrong! </h1><p class="error smaller text-center mb-3"> An unexpected error occurred while processing your request. We sincerely apologize for the inconvenience. Please try again later. If the issue persists, use the 'Contact Support' button below for further assistance. </p><p class="error text-center"> Please notify <a href="mailto:[email protected]">[email protected]</a> of this error </p>',4)])])):(0,a.createCommentVNode)("",!0)])}r(74423),r(18111),r(81148),r(22489),r(20116);var y=r(54737),k=r(38317),v=r(72279),b=r(22440),f=r(40464),w=r(18017),q=r(97043),x=r(40925),V=r(29668),C={components:{DxSelectBox:y.ad,preloader:v.A,DxValidator:q.Z2,DxCustomRule:q.CC,DxTextBox:b.HA,DxValidationSummary:b.US,DxValidationGroup:f.A},props:{type:{type:String,default:()=>"requirements"},showAll:{type:Boolean,default:!1},targetID:[String,Number]},data(){return{requirements:[],frameworks:[],customFrameworks:[],selectedFramework:null,loading:!0,error:!1,email:"",target:null,sendingFW:!1}},computed:{canSubmit(){if("vendor"!==this.target.type)return!0;if("none"==this.email)return!0;if(!this.email)return!1;const e=x.A.validateGroup("requirementGroup");return!!e.isValid},noneAvailable(){return this.availableFrameworks.every(e=>e.disabled)},availableFrameworks(){const e=this.showAll?this.frameworks:this.customFrameworks;if(!e)return[];for(const t of e)this.requirements.find(e=>e.framework==t.id)?t["disabled"]=!0:t["disabled"]=!1;return e},displayType(){return(0,w.zg)(this.type,["capitalize"])}},methods:{customValidateEmail(e){return"none"===e.value||this.validateEmail({value:this.email})},customRule(e){return!e.value||("none"===e.value||!!this.emailMatchesDomain(e.value))},emailMatchesDomain(e){if(e){const t=e.indexOf("@"),r=e.substring(t+1,e.length);if(this.target.domains.includes(r))return!0}return!1},async init(){this.loading=!0,this.error=!1;try{this.target=await k.A.call({action:"get",endpoint:"targets",ID:this.targetID}).then(e=>e.data).catch(e=>{throw console.error(e),"Error: Failed to get target data."}),this.requirements=await k.A.call({action:"get",endpoint:"assessments",queries:[{name:"target",value:this.targetID}],limit:9999}).then(e=>e.data.results).catch(e=>{throw console.error(e),"Error: Failed to get existing requirements."}),this.frameworks=await k.A.call({action:"get",endpoint:"concise_frameworks",limit:9999}).then(e=>e.data.results).catch(e=>{throw console.error(e),"Error: Failed to get frameworks."}),this.frameworks?.sort((e,t)=>this.selectOptionDisplay(e)<this.selectOptionDisplay(t)?-1:1),this.customFrameworks=this.frameworks.filter(({framework:e})=>!V.Y5.includes(e))}catch(e){this.error=!0,this.catchError("Error fetching target"),console.error(e)}this.loading=!1},async addRequirement(){if(this.email){const e=x.A.validateGroup("requirementGroup");if(!e.isValid)return}this.loading=!0,this.sendingFW=!0;const e=await k.A.call({action:"post",endpoint:"assessments",params:{framework:this.selectedFramework.id,version:this.selectedFramework.version,target:this.targetID}}).then(e=>e.data).catch(e=>{console.error(e),this.catchError("Error adding requirement."),this.error=!0});
1if(this.email&&"none"!==this.email){const t={assessment:e.id,email:this.email};await k.A.call({action:"post",endpoint:"assessments_share",params:t})}this.$emit("updated"),this.loading=!1,this.sendingFW=!1},selectOptionDisplay(e){return e?`${e.framework} ${e.version} (${(0,w.XF)(e.created_datetime)})`:""}},created(){this.init()}},B=r(66262);const D=(0,B.A)(C,[["render",g]]);var N=D,E=r(7628),A={components:{DxPopup:i.jF,DxScrollView:E.$,AddRequirement:N},props:{type:{type:String,default:()=>"requirement"},showAll:{type:Boolean,default:!1},targetID:[String,Number]},data(){return{popupOpen:!1}},computed:{displayType(){return(0,w.zg)(this.type,["capitalize"])}},methods:{updated(){this.popupOpen=!1,this.$emit("updated")},addRequirement(){this.popupOpen=!0}}};const R=(0,B.A)(A,[["render",o],["__scopeId","data-v-6a102a9c"]]);var F=R},60627:function(e,t,r){r.d(t,{A:function(){return x}});var a=r(96913);function o(e,t,r,o,i,n){const l=(0,a.resolveComponent)("delete-requirements"),s=(0,a.resolveComponent)("dx-scroll-view"),d=(0,a.resolveComponent)("dx-popup");return(0,a.openBlock)(),(0,a.createElementBlock)("div",{id:"delete-requirement-button",name:"delete-reqs-popup","aria-label":"delete reqs popup",role:"button",class:"blank-button",onClick:t[1]||(t[1]=e=>i.popupOpen=!0)},[t[2]||(t[2]=(0,a.createElementVNode)("i",{class:"fas fa-minus"},null,-1)),(0,a.createTextVNode)(" Remove "+(0,a.toDisplayString)(n.displayType)+" ",1),i.popupOpen?((0,a.openBlock)(),(0,a.createBlock)(d,{key:0,height:e.gPopupHeight(330),width:e.gPopupWidth(400),title:"Delete "+r.type,visible:i.popupOpen,"onUpdate:visible":t[0]||(t[0]=e=>i.popupOpen=e)},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(s,null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)(l,{targetID:r.targetID,existingRequirements:r.existingRequirements,type:r.type,onUpdated:n.updated},null,8,["targetID","existingRequirements","type","onUpdated"])],void 0,!0),_:1})],void 0,!0),_:1},8,["height","width","title","visible"])):(0,a.createCommentVNode)("",!0)])}var i=r(679);const n={id:"delete-requirement"},l={key:1,class:"pt-2"},s={key:0,class:"text-center"},d={class:"mt-4"},c={key:2,class:"p-4"};function m(e,t,r,o,i,m){const p=(0,a.resolveComponent)("preloader"),u=(0,a.resolveComponent)("dx-select-box");return(0,a.openBlock)(),(0,a.createElementBlock)("div",n,[i.loading?((0,a.openBlock)(),(0,a.createBlock)(p,{key:0})):i.loading||i.error?(0,a.createCommentVNode)("",!0):((0,a.openBlock)(),(0,a.createElementBlock)("div",l,[(0,a.createElementVNode)("label",null,"Select "+(0,a.toDisplayString)(m.displayType)+" To Remove",1),(0,a.createVNode)(u,{ref:"select-requirement",items:i.requirements,"item-template":"item","search-enabled":!0,"show-data-before-search":!0,"display-expr":m.selectOptionDisplay,modelValue:i.selectedRequirement,"onUpdate:modelValue":t[0]||(t[0]=e=>i.selectedRequirement=e),id:"deleterequirementdx","input-attr":{name:"deletRequirement",id:"deletRequirement","aria-label":"enter deletRequirement"},class:"mb-4"},null,8,["items","display-expr","modelValue"]),i.selectedRequirement?((0,a.openBlock)(),(0,a.createElementBlock)("div",s,[(0,a.createElementVNode)("p",null," Are you sure you want to delete the selected "+(0,a.toDisplayString)(r.type)+"? All data will be permanently lost? ",1),(0,a.createElementVNode)("div",d,[i.selectedRequirement?((0,a.openBlock)(),(0,a.createElementBlock)("div",{key:0,class:"white-button d-inline-block mr-3",id:"delete-reqs",name:"delete-reqs","aria-label":"delete reqs",role:"button",onClick:t[1]||(t[1]=(...e)=>m.deletRequirement&&m.deletRequirement(...e))}," Yes, delete it ")):(0,a.createCommentVNode)("",!0),(0,a.createElementVNode)("div",{class:"white-button d-inline-block",id:"cancel-delete-reqs",name:"cancel-delete-reqs","aria-label":"cancel delete reqs",role:"button",onClick:t[2]||(t[2]=(...e)=>m.cancel&&m.cancel(...e))}," No, keep it ")])])):(0,a.createCommentVNode)("",!0)])),i.error?((0,a.openBlock)(),(0,a.createElementBlock)("div",c,[...t[3]||(t[3]=[(0,a.createStaticVNode)('<p class="text-center big mb-3" data-v-3a420c71><i class="fas fa-exclamation-triangle error big" data-v-3a420c71></i></p><h1 class="error text-center mb-3" data-v-3a420c71> Oops, something has gone terribly wrong! </h1><p class="error smaller text-center mb-3" data-v-3a420c71> An unexpected error occurred while processing your request. We sincerely apologize for the inconvenience. Please try again later. If the issue persists, use the 'Contact Support' button below for further assistance. </p><p class="error text-center" data-v-3a420c71> Please notify <a href="mailto:[email protected]" data-v-3a420c71>[email protected]</a> of this error </p>',4)])])):(0,a.createCommentVNode)("",!0)])}var p=r(54737),u=r(38317),h=r(72279),g=r(18017),y={components:{DxSelectBox:p.ad,preloader:h.A},props:{type:{type:String,default:()=>"requirement"},existingRequirements:{type:Array},targetID:null},data(){return{requirements:[],selectedRequirement:null,loading:!0,error:!1}},computed:{displayType(){return(0,g.zg)(this.type,["capitalize"])}}
1,methods:{async init(){this.loading=!0,this.error=!1,this.existingRequirements.length?this.requirements=this.existingRequirements:this.requirements=await u.A.call({action:"get",endpoint:"assessments",queries:[{name:"target",value:this.targetID}],limit:9999}).then(e=>e.data.results).catch(e=>(this.error=!0,this.catchError("Error fetching requirements: "+e),[])),this.loading=!1},async deletRequirement(){this.loading=!0,await u.A.call({endpoint:"assessments",action:"delete",ID:this.selectedRequirement?.id,limit:9999}).then(()=>{this.$emit("updated"),this.init()}).catch(e=>{this.catchError("Error deleting requirement: "+e),this.error=!0}),this.loading=!1},cancel(){this.selectedRequirement=null,this.$emit("updated")},selectOptionDisplay(e){return e?`${e.assessment_name} ${e.version} (${(0,g.XF)(e.created_datetime)})`:""}},created(){this.init()}},k=r(66262);const v=(0,k.A)(y,[["render",m],["__scopeId","data-v-3a420c71"]]);var b=v,f=r(7628),w={components:{DxPopup:i.jF,DxScrollView:f.$,deleteRequirements:b},props:{type:{type:String,default:()=>"requirement"},targetID:null,existingRequirements:{type:Array}},data(){return{popupOpen:!1}},computed:{displayType(){return(0,g.zg)(this.type,["capitalize"])}},methods:{updated(){this.$emit("updated"),this.popupOpen=!1}}};const q=(0,k.A)(w,[["render",o],["__scopeId","data-v-1f0a0123"]]);var x=q}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.