1/*! licenses: /vendor.LICENSE.txt */ 2import{r as d,s as Re,p as Fe}from"./vendor-6DxLhnrV.js";import{j as e,e as w,C as F,$ as I,aN as D,aL as re,J as H,R as Ie,as as K,H as De,E as Be,Q as Ee,h as Ae,d as V,B as oe,N as Te,a8 as Oe}from"./echoes-qrJd0a4U.js";import{d as Ue,b_ as X,l as M,av as L,aM as W,ao as Qe,at as ee,ap as ce,a8 as P,aZ as He,aQ as Ve,bd as ae,da as We,a7 as $e}from"./main-CbQlDdW6.js";import{N as j,hs as $,ht as Ge,hu as ze,fE as R,E as Je,as as Ye,a0 as Ze,aO as de,hv as Ke,gD as Xe,hw as se,aJ as ea,D as aa,y as sa,b as ue,C as x,t as te,aB as le,K as ta,a as la}from"./startReactApp-CQcauHYg.js";import{i as na,a as ia}from"./quality-profiles-utils--S1-OyqO.js";import{F as me}from"./FormField-DwXigPz4.js";import{S as Q}from"./SelectionCard-TyrbK2y3.js";import{p as ra,q as oa,r as ne,t as ca,u as da}from"./quality-profiles-BfPKwE9B.js";import{b as ua}from"./quality-profiles-Bu_K3xHP.js";import{P as b}from"./quality-profiles-uzlWvbXf.js";import{M as ma}from"./MandatoryFieldsExplanation-B6UICd-H.js";import{B as fa}from"./BuiltInQualityProfileBadge-IhQxM0EB.js";import{P as ga}from"./ProfileActions-BkVpllBm.js";import{P as pa}from"./ProfileLink-D-jqVhu-.js";import"./lodash-CbJiKz-E.js";import"./datefns-BO8xBBw8.js";import"./highlightjs-DooahNbT.js";import"./RequiredIcon-BXQdm3VM.js";import"./RadioButton-LtZAuDhP.js";function fe(i){const{className:s,id:n,name:l,onFileSelected:a,required:t}=i,{chooseLabel:u,clearLabel:m,noFileLabel:c}=i,[o,p]=d.useState(void 0),f=d.useRef(null),_=d.useCallback(v=>{var k;const h=(k=v.target.files)==null?void 0:k[0];a==null||a(h),p(h==null?void 0:h.name)},[a]),q=d.useCallback(()=>{f.current&&(a==null||a(void 0),f.current.value="",p(void 0))},[f,a]),B=d.useCallback(()=>{var v;(v=f.current)==null||v.click()},[f]);return e.jsxs("div",{className:Ue("sw-flex sw-items-center sw-gap-2",s),"data-component":"file-input",children:[o?e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:q,children:m}),e.jsx(j,{children:o})]}):e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:B,children:u}),e.jsx(j,{children:c})]}),e.jsx("input",{"data-testid":"file-input",hidden:!0,id:n,name:l,onChange:_,ref:f,required:t,type:"file"})]})}function ha({profiles:i}){const s=w(),n=i.filter(a=>a.activeDeprecatedRuleCount>0);if(n.length===0)return null;const l=M.sortBy(n,a=>-a.activeDeprecatedRuleCount);return e.jsxs("section",{"aria-label":s.formatMessage({id:"quality_profiles.deprecated_rules"}),"data-component":"evolution-deprecated",children:[e.jsx(F,{as:"h2",hasMarginBottom:!0,children:s.formatMessage({id:"quality_profiles.deprecated_rules"})}),e.jsx(I,{className:"sw-mb-3",text:s.formatMessage({id:"quality_profiles.deprecated_rules_are_still_activated"},{count:n.length}),type:D.Danger}),e.jsx("ul",{className:"sw-flex sw-flex-col sw-gap-4 sw-typo-default",children:l.map(a=>e.jsxs("li",{className:"sw-flex sw-flex-col sw-gap-1",children:[e.jsx("div",{className:"sw-truncate",children:e.jsx(L,{to:$(a.name,a.language),children:a.name})}),e.jsxs(j,{children:[a.languageName,", ",e.jsx(L,{"aria-label":s.formatMessage({id:"quality_profile.lang_deprecated_x_rules"},{count:a.activeDeprecatedRuleCount,name:a.languageName}),className:"link-no-underline",to:Ge({qprofile:a.key}),children:s.formatMessage({id:"quality_profile.x_rules"},{count:a.activeDeprecatedRuleCount})})]}),e.jsx(xa,{profile:a,profilesWithDeprecations:n})]},a.key))})]})}function xa(i){const{profile:s,profilesWithDeprecations:n}=i,l=w(),a=d.useMemo(()=>ge(s,n),[s,n]);return a.length===0?null:e.jsx(e.Fragment,{children:a.map(t=>t.from.key===s.key?null:e.jsx(j,{children:l.formatMessage({id:"coding_rules.filters.inheritance.x_inherited_from_y"},{count:t.count,name:t.from.name})},t.from.key))})}function ge(i,s){let n=[],l=i.activeDeprecatedRuleCount;if(l===0)return n;if(W(i.parentKey)&&i.parentKey!==""){const a=s.find(t=>t.key===i.parentKey);if(a){const t=ge(a,s);t.length!==0&&(l-=t.reduce((u,m)=>u+m.count,0),n=n.concat(t))}}return l>0&&n.push({count:l,from:i}),n}const ie=10;function _a(){const i=w(),[s,n]=d.useState(),[l,a]=d.useState(),t=d.useMemo(()=>{const u=new Date;return u.setFullYear(u.getFullYear()-1),Qe(u)},[]);return d.useEffect(()=>{ze({asc:!1,available_since:t,f:"name,langName,actives",ps:ie,s:"createdAt"}).then(({actives:m,rules:c,paging:{total:o}})=>{n(M.sortBy(ya(c,m),"langName")),a(o)},M.noop)},[t]),!(W(l)&&l!==0)||!s?null:e.jsxs("section",{"aria-label":i.formatMessage({id:"quality_profiles.latest_new_rules"}),"data-component":"evolution-rules",children:[e.jsx(F,{as:"h2",hasMarginBottom:!0,children:i.formatMessage({id:"quality_profiles.latest_new_rules"})}),e.jsx("ul",{className:"sw-flex sw-flex-col sw-gap-4 sw-typo-default",children:s.map(u=>e.jsxs("li",{className:"sw-flex sw-flex-col sw-gap-1",children:[e.jsx("div",{className:"sw-truncate",children:e.jsx(L,{to:R({rule_key:u.key}),children:u.name})}),e.jsx(j,{className:"sw-truncate",children:u.activations?ee("quality_profiles.latest_new_rules.activated",u.langName,u.activations):ee("quality_profiles.latest_new_rules.not_activated",u.langName)})]},u.key))}),l>ie&&e.jsx("div",{className:"sw-mt-6 sw-typo-semibold",children:e.jsx(ce,{to:R({available_since:t}),children:i.formatMessage({id:"quality_profiles.latest_new_rules.see_all_x"},{count:Je(l,Ye.ShortInteger)})})})]})}function ya(i,s){return i.map(n=>{var a;const l=((a=s==null?void 0:s[n.key])==null?void 0:a.length)??0;return{...n,activations:l}})}function ja(i){const s=w(),n=i.profiles.filter(l=>!l.isBuiltIn&&na(l));return n.length===0?null:e.jsxs("section",{"aria-label":s.formatMessage({id:"quality_profiles.stagnant_profiles"}),"data-component":"evolution-stagnant",children:[e.jsx(F,{as:"h2",hasMarginBottom:!0,children:s.formatMessage({id:"quality_profiles.stagnant_profiles"})}),e.jsx(I,{className:"sw-mb-3",text:s.formatMessage({id:"quality_profiles.not_updated_more_than_year"}),type:D.Warning}),e.jsx("ul",{className:"sw-flex sw-flex-col sw-gap-4 sw-typo-default",children:n.map(l=>e.jsxs("li",{className:"sw-flex sw-flex-col sw-gap-1",children:[e.jsx("div",{className:"sw-truncate",children:e.jsx(L,{to:$(l.name,l.language),children:l.name})}),W(l.rulesUpdatedAt)&&l.rulesUpdatedAt!==""&&e.jsx(j,{children:e.jsx(Ze,{date:l.rulesUpdatedAt,long:!0,children:a=>s.formatMessage({id:"quality_profiles.x_updated_on_y"},{name:l.languageName,date:a})})})]},l.key))})]})}function wa({profiles:i}){return e.jsxs("div",{className:"sw-flex sw-flex-col sw-gap-12","data-component":"evolution",children:[e.jsx(ha,{profiles:i}),e.jsx(ja,{profiles:i}),e.jsx(_a,{})]})}const ba=2;function va(i){const{currentFilter:s,languages:n}=i,l=w(),a=de(),t=n.map(m=>({label:m.name,value:m.key})),u=d.useCallback((m,c)=>{c(t.filter(o=>o.label.toLowerCase().includes(m.toLowerCase())))},[t]);return n.length<ba?null:e.jsxs("div",{className:"sw-mb-4","data-component":"language-select",children:[e.jsx("span",{className:"sw-mr-2 sw-typo-semibold",children:l.formatMessage({id:"quality_profiles.filter_by"})}),e.jsx(Ke,{autoFocus:!0,className:"sw-inline-block",controlAriaLabel:l.formatMessage({id:"quality_profiles.select_lang"}),controlPlaceholder:l.formatMessage({id:"quality_profiles.select_lang"}),controlSize:"medium",defaultOptions:t,isClearable:!0,loadOptions:u,onChange:m=>a.replace(m?ia(m.value):Xe),options:t,value:t.find(m=>m.value===s)})]})}function Ma(i){const{children:s,languages:n,profiles:l,onCreate:a}=i,t=w(),[u,m]=d.useState([]),[c,o]=d.useState(),[p,f]=d.useState(!1),[_,q]=d.useState(""),[B,v]=d.useState(!0),[h,k]=d.use
2State(),[G,E]=d.useState(),[z,J]=d.useState(),[pe,A]=d.useState(),[g,T]=d.useState(),Y=d.useCallback(async()=>{v(!0);try{const r=await ra();m(r)}finally{v(!1)}},[m,v]);function he(){o(b.Extend)}const xe=d.useCallback(()=>{o(b.Copy)},[o]),_e=d.useCallback(()=>{o(void 0)},[o]),ye=d.useCallback(r=>{q(r.currentTarget.value),J(r.currentTarget.value.length>0)},[q,J]),je=d.useCallback(r=>{k(r),E(!0),T(void 0),A(!1)},[k,E]),we=d.useCallback(async r=>{f(!0);const N=g==null?void 0:g.key;try{if(c===b.Copy&&N&&_){const y=await oa(N,_);a(y)}else if(c===b.Extend){const{profile:y}=await ne({language:h,name:_}),S=l.find(Pe=>Pe.key===N);S&&await ca(y,S),a(y)}else{const y=new FormData((r==null?void 0:r.currentTarget)??void 0);y.set("language",h??""),y.set("name",_);const{profile:S}=await ne(y);a(S)}}finally{f(!1)}},[f,a,l,c,h,_,g]);d.useEffect(()=>{Y();const r=se(i.location.query.language);r!==void 0&&(k(r),E(!0))},[Y,i.location.query.language]);const{data:{ancestors:O}={},isLoading:be}=ua(c===void 0||h===void 0||g===void 0?void 0:{language:h,name:g.name}),Z=O==null?void 0:O.some(r=>r.isBuiltIn),ve=c===void 0||c===b.Copy&&!Z&&g!==void 0||c===b.Extend&&!Z&&g!==void 0&&!g.isBuiltIn,Me=c===void 0&&z&&G||c!==void 0&&G&&z&&pe,ke=t.formatMessage({id:"quality_profiles.new_profile"}),Ne=se(i.location.query.language),C=h??Ne,qe=C?u.filter(r=>r.languages.includes(C)):[],Ce=l.filter(r=>r.language===C),U=M.sortBy(Ce,"name").map(r=>({...r,label:r.isBuiltIn?`${r.name} (${t.formatMessage({id:"quality_profiles.built_in"})})`:r.name,value:r.key})),Se=d.useCallback(r=>{const N=U.find(y=>y.key===r);T(N),A(N!==void 0)},[T,A,U]),Le=M.sortBy(n,"name").map(r=>({label:r.name,value:r.key}));return e.jsx(re,{content:e.jsxs(e.Fragment,{children:[e.jsxs(H.Section,{children:[e.jsx(Ie,{isSubdued:!0,children:t.formatMessage({id:"quality_profiles.chose_creation_type"})}),e.jsxs("div",{className:"sw-mt-4 sw-flex sw-flex-col sw-gap-2",children:[e.jsxs(Q,{onClick:he,selected:c===b.Extend,title:t.formatMessage({id:"quality_profiles.creation_from_extend"}),children:[e.jsx("p",{className:"sw-mb-2",children:t.formatMessage({id:"quality_profiles.creation_from_extend_description_1"})}),e.jsx("p",{children:t.formatMessage({id:"quality_profiles.creation_from_extend_description_2"})})]}),e.jsxs(Q,{onClick:xe,selected:c===b.Copy,title:t.formatMessage({id:"quality_profiles.creation_from_copy"}),children:[e.jsx("p",{className:"sw-mb-2",children:t.formatMessage({id:"quality_profiles.creation_from_copy_description_1"})}),e.jsx("p",{children:t.formatMessage({id:"quality_profiles.creation_from_copy_description_2"})})]}),e.jsx(Q,{onClick:_e,selected:c===void 0,title:t.formatMessage({id:"quality_profiles.creation_from_blank"}),children:t.formatMessage({id:"quality_profiles.creation_from_blank_description"})})]}),!be&&ve&&e.jsx(I,{className:"sw-block sw-my-4",text:e.jsxs("div",{className:"sw-flex sw-flex-col",children:[t.formatMessage({id:"quality_profiles.no_built_in_updates_warning.new_profile"}),e.jsx("span",{className:"sw-mt-1",children:t.formatMessage({id:"quality_profiles.no_built_in_updates_warning.new_profile.2"})})]}),type:D.Info}),e.jsx(K,{className:"sw-mb-4",data:Le,id:"create-profile-language-input",isRequired:!0,isSearchable:!0,label:t.formatMessage({id:"language"}),name:"language",onChange:je,value:C}),c!==void 0&&e.jsx(K,{ariaLabel:t.formatMessage({id:c===b.Copy?"quality_profiles.creation.choose_copy_quality_profile":"quality_profiles.creation.choose_parent_quality_profile"}),className:"sw-mb-4",data:U,id:"create-profile-parent-input",isRequired:!0,isSearchable:!0,label:t.formatMessage({id:"quality_profiles.parent"}),name:"parentKey",onChange:Se,value:g==null?void 0:g.key}),e.jsx(De,{autoFocus:!0,id:"create-profile-name",isRequired:!0,label:t.formatMessage({id:"name"}),maxLength:50,name:"name",onChange:ye,type:"text",value:_,width:Be.Full})]}),c===void 0&&e.jsx(H.Section,{children:qe.map(r=>e.jsxs(me,{htmlFor:"create-profile-form-backup-"+r.key,label:r.name,children:[e.jsx(fe,{chooseLabel:t.formatMessage({id:"choose_file"}),clearLabel:t.formatMessage({id:"clear_file"}),id:`create-profile-form-backup-${r.key}`,name:`backup_${r.key}`,noFileLabel:t.formatMessage({id:"no_file_selected"})}),e.jsx(j,{children:t.formatMessage({id:"quality_profiles.optional_configuration_file"})})]},r.key))})]}),isSubmitDisabled:!Me||p||B,onSubmit:we,secondaryButtonLabel:t.formatMessage({id:"cancel"}),submitButtonLabel:P("create"),title:ke,"data-component":"create-profile-form",children:s})}function ka({children:i,onRestore:s}){const n=w(),[l,a]=d.useState(!1);async function t(m){const c=new FormData(m.currentTarget);try{a(!0);const{profile:o,ruleFailures:p,ruleSuccesses:f}=await da(c);u(o,p??0,f),s()}finally{a(!1)}}function u(m,c,o){c>0?He(n.formatMessage({id:"quality_profiles.restore_profile.warning"},{profileName:m.name,ruleFailures:c,ruleSuccesses:o})):Ve(n.formatMessage({id:"quality_profiles.restore_profile.success"},{profileName:m.name,ruleSuccesses:o}))}return e.jsx(re,{content:e.jsxs(H.Section,{children:[e.jsx(ma,{className:"modal-field"}),e.jsx(me,{htmlFor:"restore-profile-backup",label:n.formatMessage({id:"backup"}),children:e.jsx(fe,{chooseLabel:n.formatMessage({id:"choose_file"}),clearLabel:n.formatMessage({id:"clear_file"}),id:"restore-profile-backup",name:"backup",noFileLabel:n.formatMessage({id:"no_file_selected"}),required:!0})})]}),isSubmitDisabled:l,onSubmit:t,secondaryButtonLabel:P("cancel"),submitButtonLabel:P("restore"),title:n.formatMessage({id:"quality_profiles.restore_profile"}),"data-component":"restore-profile-form",children:i})}function Na(i){const{actions:s,languages:n,profiles:l}=i,a=w(),t=ea(),u=de(),m=c=>{i.updateProfiles().then(()=>{u.push($(c.name,c.language))},()=>{})};return e.jsxs("header",{className:"sw-grid sw-grid-cols-3 sw-gap-12","data-component":"page-header",children:[e.jsxs("div",{className:"sw-col-span-2",children:[e.jsx(F,{as:"h1",hasMarginBottom:!0,children:P("quality_profiles.page")}),e.jsx("div",{className:"sw-typo-default",children:a.formatMessage({id:"quality_profiles.intro"},{link:c=>e.jsx(aa,{highlight:Ee.CurrentColor,shouldOpenInNewTab:!0,to:sa.InstanceAdminQualityProfiles,children:c})})})]}),s.create&&e.jsxs("div",{className:"sw-flex sw-flex-col sw-items-end",children:[e.jsxs(Ae,{children:[e.jsx(Ma,{languages:n,location:t,onCreate:m,profiles:l,children:e.jsx(V,{id:"quality-profiles-create",isDisabled:n.length===0,variety:oe.Primary,children:a.formatMessage({id:"create"})})}),e.jsx(ka,{onRestore:i.updateProfiles,children:e.jsx(V,{id:"quality-profiles-restore",children:a.formatMessage({id:"restore"})})})]}),n.length===0&&e.jsx(I,{className:"sw-mt-2",text:a.formatMessage({id:"quality_profiles.no_languages_available"}),type:D.Warning})]})]})}function qa(i){const{profile:s,isComparable:n}=i,l=w(),a=24*(s.depth-1),t=R({qprofile:s.key,activation:"true"}),u=R({qprofile:s.key,activation:"true",statuses:"DEPRECATED"});return e.jsxs(ue,{className:"quality-profiles-table-row","data-key":s.key,"data-name":s.name,"data-component":"profiles-list-row",children:[e.jsx(x,{children:e.jsxs("div",{className:"sw-flex sw-items-center",style:{paddingLeft:a},children:[e.jsx(pa,{language:s.language,name:s.name,children:s.name}),s.isBuiltIn&&e.jsx(fa,{className:"sw-ml-2"})]})}),e.jsx(x,{children:s.isDefault?e.jsx(te,{content:l.formatMessage({id:"quality_profiles.list.default.help"}),children:e.jsx(ae,{children:l.formatMessage({id:"default"})})}):e.jsx(j,{children:s.projectCount})}),e.jsx(x,{children:e.jsxs("div",{children:[e.jsx(ce,{to:t,children:s.activeRuleCount}),s.activeDeprecatedRuleCount>0&&e.jsx("span",{className:"sw-ml-2",children:e.jsx(te,{content:l.formatMessage({id:"quality_profiles.deprecated_rules"}),children:e.jsx(We,{className:"sw-border-0",to:u,children:e.jsx(ae,{variant:"deleted",children:s.activeDeprecatedRuleCount})})})})]})}),e.jsx(x,{children:e.jsx(j,{children:e.jsx(le,{date:s.rulesUpdatedAt})})}),e.jsx(x,{children:e.jsx(j,{children:e.jsx(le,{date:s.lastUsed})})}),e.jsx(ta,{children:e.jsx(ga,{isComparable:n,profile:s,updateProfiles:i.updateProfiles})})]})}const Ca=d.memo(qa);function Sa(i){const{profiles:s,languages:n,language:l}=i,a=w(),t=M.groupBy(s,o=>o.language),u=l?M.pick(t,l):t;
2let m=M.sortBy(n,({name:o})=>o).map(({key:o})=>o);l&&(m=m.find(o=>o===l)?[l]:[]);const c=d.useCallback((o,p)=>{const f=n.find(_=>_.key===o);return e.jsxs(ue,{children:[e.jsx(x,{children:a.formatMessage({id:"quality_profiles.x_profiles"},{count:p,name:f==null?void 0:f.name})}),e.jsxs(x,{children:[a.formatMessage({id:"quality_profiles.list.projects"}),e.jsx(Te,{content:a.formatMessage({id:"quality_profiles.list.projects.help"}),children:e.jsx(V,{"aria-label":a.formatMessage({id:"help"}),className:"sw-p-0 sw-h-fit sw-min-h-fit",variety:oe.DefaultGhost,children:e.jsx(Oe,{color:"echoes-color-icon-subdued"})})})]}),e.jsx(x,{children:a.formatMessage({id:"quality_profiles.list.rules"})}),e.jsx(x,{children:a.formatMessage({id:"quality_profiles.list.updated"})}),e.jsx(x,{children:a.formatMessage({id:"quality_profiles.list.used"})}),e.jsx(x,{children:"Â "})]})},[n,a]);return e.jsxs("div",{"data-component":"profiles-list",children:[Object.keys(u).length===0&&e.jsx($e,{className:"sw-mt-4 sw-w-full",variant:"warning",children:a.formatMessage({id:"no_results"})}),m.map(o=>e.jsx(la,{className:"sw-mb-12",columnCount:6,columnWidths:["43%","14%","14%","14%","14%","1%"],"data-language":o,header:c(o,u[o].length),noHeaderTopBorder:!0,noSidePadding:!0,children:(u[o]??[]).map(p=>e.jsx(Ca,{isComparable:u[o].length>1,profile:p,updateProfiles:i.updateProfiles},p.key))},o))]})}function Ja(){const i=Re(),[s]=Fe(),n=s.get("language")??void 0;return e.jsxs("div",{"data-component":"home-container",children:[e.jsx(Na,{...i}),e.jsxs("div",{className:"sw-grid sw-grid-cols-3 sw-gap-12 sw-mt-12",children:[e.jsxs("main",{className:"sw-col-span-2",children:[e.jsx(va,{currentFilter:n,languages:i.languages}),e.jsx(Sa,{...i,language:n})]}),e.jsx("aside",{children:e.jsx(wa,{...i})})]})]})}export{Ja as default}; 3//# sourceMappingURL=HomeContainer-BKA_gJ-b.js.map
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.