@techdocs/cli 1.9.2 → 1.9.3-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/embedded-app/.config-schema.json +1028 -1945
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/index.html.tmpl +1 -1
  5. package/dist/embedded-app/static/{2177.84bbb70f.chunk.js → 2177.a6feec05.chunk.js} +1 -1
  6. package/dist/embedded-app/static/{2177.84bbb70f.chunk.js.map → 2177.a6feec05.chunk.js.map} +1 -1
  7. package/dist/embedded-app/static/3308.32b2351d.chunk.js +7 -0
  8. package/dist/embedded-app/static/3308.32b2351d.chunk.js.map +1 -0
  9. package/dist/embedded-app/static/{5470.f80a9c12.chunk.js → 5470.1de8dd3a.chunk.js} +1 -1
  10. package/dist/embedded-app/static/5470.1de8dd3a.chunk.js.map +1 -0
  11. package/dist/embedded-app/static/main.b4847379.js +553 -0
  12. package/dist/embedded-app/static/main.b4847379.js.map +1 -0
  13. package/dist/embedded-app/static/{runtime.9fff8ae5.js → runtime.b4847379.js} +2 -2
  14. package/dist/embedded-app/static/{runtime.9fff8ae5.js.map → runtime.b4847379.js.map} +1 -1
  15. package/dist/embedded-app/static/{vendor.9fff8ae5.js → vendor.b4847379.js} +1 -1
  16. package/dist/embedded-app/static/{vendor.9fff8ae5.js.map → vendor.b4847379.js.map} +1 -1
  17. package/dist/package.json.cjs.js +1 -1
  18. package/package.json +7 -7
  19. package/dist/embedded-app/static/3308.13263a7d.chunk.js +0 -7
  20. package/dist/embedded-app/static/3308.13263a7d.chunk.js.map +0 -1
  21. package/dist/embedded-app/static/5470.f80a9c12.chunk.js.map +0 -1
  22. package/dist/embedded-app/static/main.9fff8ae5.js +0 -553
  23. package/dist/embedded-app/static/main.9fff8ae5.js.map +0 -1
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.9fff8ae5.js"></script><script defer="defer" src="/static/module-material-ui.557c1930.js"></script><script defer="defer" src="/static/module-lodash.05581125.js"></script><script defer="defer" src="/static/module-date-fns.c633d602.js"></script><script defer="defer" src="/static/module-mui.f702282a.js"></script><script defer="defer" src="/static/module-material-table.00de7997.js"></script><script defer="defer" src="/static/module-react-dom.42a304d3.js"></script><script defer="defer" src="/static/module-zod.4f2eeb8c.js"></script><script defer="defer" src="/static/module-i18next.f50c1612.js"></script><script defer="defer" src="/static/module-react-beautiful-dnd.e9f14677.js"></script><script defer="defer" src="/static/module-remix-run.ae6d33c5.js"></script><script defer="defer" src="/static/vendor.9fff8ae5.js"></script><script defer="defer" src="/static/main.9fff8ae5.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.b4847379.js"></script><script defer="defer" src="/static/module-material-ui.557c1930.js"></script><script defer="defer" src="/static/module-lodash.05581125.js"></script><script defer="defer" src="/static/module-date-fns.c633d602.js"></script><script defer="defer" src="/static/module-mui.f702282a.js"></script><script defer="defer" src="/static/module-material-table.00de7997.js"></script><script defer="defer" src="/static/module-react-dom.42a304d3.js"></script><script defer="defer" src="/static/module-zod.4f2eeb8c.js"></script><script defer="defer" src="/static/module-i18next.f50c1612.js"></script><script defer="defer" src="/static/module-react-beautiful-dnd.e9f14677.js"></script><script defer="defer" src="/static/module-remix-run.ae6d33c5.js"></script><script defer="defer" src="/static/vendor.b4847379.js"></script><script defer="defer" src="/static/main.b4847379.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -42,7 +42,7 @@
42
42
  color="#5bbad5"
43
43
  />
44
44
  <title><%= config.getString('app.title') %></title>
45
- <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.9fff8ae5.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.557c1930.js"></script><script defer src="<%= publicPath %>/static/module-lodash.05581125.js"></script><script defer src="<%= publicPath %>/static/module-date-fns.c633d602.js"></script><script defer src="<%= publicPath %>/static/module-mui.f702282a.js"></script><script defer src="<%= publicPath %>/static/module-material-table.00de7997.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.42a304d3.js"></script><script defer src="<%= publicPath %>/static/module-zod.4f2eeb8c.js"></script><script defer src="<%= publicPath %>/static/module-i18next.f50c1612.js"></script><script defer src="<%= publicPath %>/static/module-react-beautiful-dnd.e9f14677.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.ae6d33c5.js"></script><script defer src="<%= publicPath %>/static/vendor.9fff8ae5.js"></script><script defer src="<%= publicPath %>/static/main.9fff8ae5.js"></script></head>
45
+ <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.b4847379.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.557c1930.js"></script><script defer src="<%= publicPath %>/static/module-lodash.05581125.js"></script><script defer src="<%= publicPath %>/static/module-date-fns.c633d602.js"></script><script defer src="<%= publicPath %>/static/module-mui.f702282a.js"></script><script defer src="<%= publicPath %>/static/module-material-table.00de7997.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.42a304d3.js"></script><script defer src="<%= publicPath %>/static/module-zod.4f2eeb8c.js"></script><script defer src="<%= publicPath %>/static/module-i18next.f50c1612.js"></script><script defer src="<%= publicPath %>/static/module-react-beautiful-dnd.e9f14677.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.ae6d33c5.js"></script><script defer src="<%= publicPath %>/static/vendor.b4847379.js"></script><script defer src="<%= publicPath %>/static/main.b4847379.js"></script></head>
46
46
  <body>
47
47
  <noscript>You need to enable JavaScript to run this app.</noscript>
48
48
  <div id="root"></div>
@@ -1,4 +1,4 @@
1
1
  "use strict";(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[2177],{48514:(W,T,t)=>{t.d(T,{M:()=>O});var e=t(31085),y=t(58837),L=t(71677),x=t(72501);const K=(0,y.A)({container:{overflow:"visible !important"},typo:{fontSize:"inherit",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box","-webkit-line-clamp":({line:C})=>C||1,"-webkit-box-orient":"vertical"}},{name:"BackstageOverflowTooltip"});function O(C){const I=K(C);return(0,e.jsx)(L.Ay,{title:C.title??(C.text||""),placement:C.placement,children:(0,e.jsx)(x.A,{className:I.typo,variant:"inherit",children:C.text})})}},35773:(W,T,t)=>{t.d(T,{C4:()=>x,tS:()=>O});var e=t(14117);const y="catalog-entity",L=(0,e.i)({name:"catalog.entity.read",attributes:{action:"read"},resourceType:y}),x=(0,e.i)({name:"catalog.entity.create",attributes:{action:"create"}}),K=(0,e.i)({name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:y}),O=(0,e.i)({name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:y}),C=(0,e.i)({name:"catalog.entity.validate",attributes:{}}),I=(0,e.i)({name:"catalog.location.read",attributes:{action:"read"}}),H=(0,e.i)({name:"catalog.location.create",attributes:{action:"create"}}),z=(0,e.i)({name:"catalog.location.analyze",attributes:{}}),V=(0,e.i)({name:"catalog.location.delete",attributes:{action:"delete"}}),k=[L,x,K,O,C,I,H,V,z]},90759:(W,T,t)=>{t.d(T,{W:()=>y});var e=t(93184);const y=(0,e.h)({id:"catalog",messages:{indexPage:{title:"{{orgName}} Catalog",createButtonTitle:"Create",supportButtonContent:"All your software catalog entities"},aboutCard:{title:"About",refreshButtonTitle:"Schedule entity refresh",editButtonTitle:"Edit Metadata",createSimilarButtonTitle:"Create something similar",refreshScheduledMessage:"Refresh scheduled",launchTemplate:"Launch Template",viewTechdocs:"View TechDocs",viewSource:"View Source",descriptionField:{label:"Description",value:"No description"},ownerField:{label:"Owner",value:"No Owner"},domainField:{label:"Domain",value:"No Domain"},systemField:{label:"System",value:"No System"},parentComponentField:{label:"Parent Component",value:"No Parent Component"},typeField:{label:"Type"},lifecycleField:{label:"Lifecycle"},tagsField:{label:"Tags",value:"No Tags"},targetsField:{label:"Targets"}},searchResultItem:{lifecycle:"Lifecycle",Owner:"Owner"},catalogTable:{warningPanelTitle:"Could not fetch catalog entities.",viewActionTitle:"View",editActionTitle:"Edit",starActionTitle:"Add to favorites",unStarActionTitle:"Remove from favorites"},dependencyOfComponentsCard:{title:"Dependency of components",emptyMessage:"No component depends on this component"},dependsOnComponentsCard:{title:"Depends on components",emptyMessage:"No component is a dependency of this component"},dependsOnResourcesCard:{title:"Depends on resources",emptyMessage:"No resource is a dependency of this component"},entityContextMenu:{copiedMessage:"Copied!",moreButtonTitle:"More",inspectMenuTitle:"Inspect entity",copyURLMenuTitle:"Copy entity URL",unregisterMenuTitle:"Unregister entity"},entityLabelsCard:{title:"Labels",emptyDescription:"No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:",readMoreButtonTitle:"Read more"},entityLabels:{warningPanelTitle:"Entity not found",ownerLabel:"Owner",lifecycleLabel:"Lifecycle"},entityLinksCard:{title:"Links",emptyDescription:"No links defined for this entity. You can add links to your entity YAML as shown in the highlighted example below:",readMoreButtonTitle:"Read more"},entityNotFound:{title:"Entity was not found",description:"Want to help us build this? Check out our Getting Started documentation.",docButtonTitle:"DOCS"},deleteEntity:{dialogTitle:"Are you sure you want to delete this entity?",deleteButtonTitle:"Delete",cancelButtonTitle:"Cancel",description:"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."},entityProcessingErrorsDescription:"The error below originates from",entityRelationWarningDescription:`This entity has relations to other entities, which can't be found in the catalog.
2
2
  Entities not found are: `,hasComponentsCard:{title:"Has components",emptyMessage:"No component is part of this system"},hasResourcesCard:{title:"Has resources",emptyMessage:"No resource is part of this system"},hasSubcomponentsCard:{title:"Has subcomponents",emptyMessage:"No subcomponent is part of this component"},hasSubdomainsCard:{title:"Has subdomains",emptyMessage:"No subdomain is part of this domain"},hasSystemsCard:{title:"Has systems",emptyMessage:"No system is part of this domain"},relatedEntitiesCard:{emptyHelpLinkTitle:"Learn how to change this"},systemDiagramCard:{title:"System Diagram",description:"Use pinch & zoom to move around the diagram.",edgeLabels:{partOf:"part of",provides:"provides",dependsOn:"depends on"}}}})},62177:(W,T,t)=>{t.r(T),t.d(T,{BaseCatalogPage:()=>Te,CatalogPage:()=>xt,DefaultCatalogPage:()=>Se});var e=t(31085),y=t(18690),L=t(27155),x=t(26280),K=t(59428),O=t(64947),C=t(29365),I=t(5893),H=t(73657),z=t(25534);function V(n){const{title:a,to:s}=n,o=(0,I.A)(i=>i.breakpoints.down("xs"));return s?o?(0,e.jsx)(C.A,{component:H.N_,color:"primary",title:a,size:"small",to:s,children:(0,e.jsx)(z.A,{})}):(0,e.jsx)(O.A,{component:H.N_,variant:"contained",color:"primary",to:s,children:a}):null}var k=t(27586),m=t(72427),S=t(65461),b=t(9222),v=t(21405),F=t(54203),Q=t(66917),se=t(36017),Z=t(10394),p=t(14041),N=t(92822),ie=t(73466),oe=t(7341);function Ae(){const n=(0,m.gf)(oe.v),{error:a,loading:s,value:o}=(0,ie.A)(async()=>{const{facets:i}=await n.getEntityFacets({facets:["kind"]}),l=(i.kind??[]).map(r=>r.value);return new Map(l.map(r=>[r.toLocaleLowerCase("en-US"),r]))},[n]);return{loading:s,error:a,allKinds:o??new Map}}function je(n,a,s){let o=Array.from(n.keys());a&&(o=a.map(l=>l.toLocaleLowerCase("en-US")).filter(l=>n.has(l)));const i=new Map(o.map(l=>[l,n.get(l)||l]));return s&&!i.has(s)&&i.set(s.toLocaleLowerCase("en-US"),s),i}var U=t(64630),R=t(87849);function Ee(n){const{filters:a,queryParameters:{kind:s},updateFilters:o}=(0,v.nK)(),i=(0,p.useMemo)(()=>[s].flat()[0],[s]),[l,r]=(0,p.useState)(i??a.kind?.value??n.initialFilter);(0,p.useEffect)(()=>{i&&r(i)},[i]),(0,p.useEffect)(()=>{a.kind?.value&&r(a.kind?.value)},[a.kind]);const{allKinds:c,loading:d,error:f}=Ae(),u=c.get(l)||l;return(0,p.useEffect)(()=>{o({kind:l?new N.gM(l,u):void 0})},[l,u,o]),{loading:d,error:f,allKinds:c,selectedKind:l,setSelectedKind:r}}const Le=n=>{const{allowedKinds:a,hidden:s,initialFilter:o="component"}=n,{t:i}=(0,R.i)(U.j),l=(0,m.gf)(se.k),{error:r,allKinds:c,selectedKind:d,setSelectedKind:f}=Ee({initialFilter:o});if((0,p.useEffect)(()=>{r&&l.post({message:i("entityKindPicker.errorMessage"),severity:"error"})},[r,l,i]),r)return null;const P=[...je(c,a,d).entries()].map(([h,A])=>({label:A,value:h}));return s?null:(0,e.jsx)(Z.A,{pb:1,pt:1,children:(0,e.jsx)(Q.w,{label:i("entityKindPicker.title"),items:P,selected:d.toLocaleLowerCase("en-US"),onChange:h=>f(String(h))})})};var Y=t(58837),le=t(47144);const be=(0,Y.A)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),Re=n=>{const{initialFilter:a=[]}=n,s=be(),{t:o}=(0,R.i)(U.j);return(0,e.jsx)(le.y,{label:o("entityLifecyclePicker.title"),name:"lifecycles",path:"spec.lifecycle",Filter:N.I5,InputProps:{className:s.input},initialSelectedOptions:a})},Me=(0,Y.A)({input:{}},{name:"CatalogReactEntityNamespacePicker"}),Oe=n=>{const{initiallySelectedNamespaces:a}=n,s=Me(),{t:o}=(0,R.i)(U.j);return(0,e.jsx)(le.y,{label:o("entityNamespacePicker.title"),name:"namespace",path:"metadata.namespace",Filter:N.z,InputProps:{className:s.input},initialSelectedOptions:a})};var Fe=t(72987),Ne=t(69076),Be=t(86901),De=t(44148),Ke=t(41260),Ie=t(22995);const ze=(0,Y.A)({root:{},input:{},label:{}},{name:"CatalogReactEntityProcessingStatusPickerPicker"}),Ue=(0,e.jsx)(Ke.A,{fontSize:"small"}),we=(0,e.jsx)(De.A,{fontSize:"small"}),We=()=>{const n=ze(),{updateFilters:a}=(0,v.nK)(),{t:s}=(0,R.i)(U.j),[o,i]=(0,p.useState)([]);function l(d){a({orphan:d?new N.Kf(d):void 0})}function r(d){a({error:d?new N.mT(d):void 0})}const c=["Is Orphan","Has Error"];return(0,e.jsx)(Z.A,{className:n.root,pb:1,pt:1,children:(0,e.jsx)(Ie.Q,{label:s("entityProcessingStatusPicker.title"),multiple:!0,disableCloseOnSelect:!0,options:c,value:o,onChange:(d,f)=>{i(f),l(f.includes("Is Orphan")),r(f.includes("Has Error"))},renderOption:(d,{selected:f})=>(0,e.jsx)(Be.A,{control:(0,e.jsx)(Ne.A,{icon:Ue,checkedIcon:we,checked:f}),onClick:u=>u.preventDefault(),label:d}),name:"processing-status-picker",LabelProps:{className:n.label},TextFieldProps:{className:n.input}})})};var He=t(91035),Ve=t(46343),Ye=t.n(Ve),Ge=t(40074),Xe=t.n(Ge);function ke(){const n=(0,m.gf)(oe.v),{filters:{kind:a,type:s},queryParameters:{type:o},updateFilters:i}=(0,v.nK)(),l=(0,p.useMemo)(()=>[o].flat().filter(Boolean),[o]),[r,c]=(0,p.useState)(l.length?l:s?.getTypes()??[]);(0,p.useEffect)(()=>{l.length&&c(l)},[l]);const[d,f]=(0,p.useState)([]),u=(0,p.useMemo)(()=>a?.value,[a]),{error:P,loading:h,value:A}=(0,ie.A)(async()=>u?await n.getEntityFacets({filter:{kind:u},facets:["spec.type"]}).then(j=>j.facets["spec.type"]||[]):[],[u,n]),X=(0,p.useRef)(A);return(0,p.useEffect)(()=>{const w=X.current;if(X.current=A,h||!u||w===A||!A)return;const j=[...new Set(Xe()(A,B=>-B.count).map(B=>B.value.toLocaleLowerCase("en-US")))];f(j);const $=r.filter(B=>j.includes(B));Ye()(r,$)||c($)},[h,u,r,c,A]),(0,p.useEffect)(()=>{i({type:r.length?new N.qA(r):void 0})},[r,i]),{loading:h,error:P,availableTypes:d,selectedTypes:r,setSelectedTypes:c}}const Qe=n=>{const{hidden:a,initialFilter:s}=n,o=(0,m.gf)(se.k),{error:i,availableTypes:l,selectedTypes:r,setSelectedTypes:c}=ke(),{t:d}=(0,R.i)(U.j);if((0,p.useEffect)(()=>{i&&o.post({message:d("entityTypePicker.errorMessage"),severity:"error"}),s&&c([s])},[i,o,s,c,d]),l.length===0||i)return null;l.sort((u,P)=>u.toLocaleLowerCase("en-US").localeCompare(P.toLocaleLowerCase("en-US")));const f=[{value:"all",label:d("entityTypePicker.optionAllTitle")},...l.map(u=>({value:u,label:u}))];return a?null:(0,e.jsx)(Z.A,{pb:1,pt:1,children:(0,e.jsx)(Q.w,{label:d("entityTypePicker.title"),items:f,selected:(f.length>1?r[0]:void 0)??"all",onChange:u=>c(u==="all"?[]:[String(u)])})})};var Je=t(67626);const $e=n=>{const{initialKind:a,initiallySelectedFilter:s,ownerPickerMode:o,initiallySelectedNamespaces:i}=n;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(Le,{initialFilter:a}),(0,e.jsx)(Qe,{}),(0,e.jsx)(Je.y,{initialFilter:s}),(0,e.jsx)(Fe.t,{mode:o}),(0,e.jsx)(Re,{}),(0,e.jsx)(He.m,{}),(0,e.jsx)(We,{}),(0,e.jsx)(Oe,{initiallySelectedNamespaces:i})]})};var Ze=t(95203),re=t(72348),ce=t(51372),qe=t(6820),_e=t(88640),et=t(77310),q=t(14209),G=t(90184),tt=t(56889),de=t(67871),_=t(72501),ue=t(88654),nt=t(75625),at=t(39330),st=t(45250),it=t(65398),ot=t.n(it),lt=t(8859),me=t(34428),pe=t(67720),fe=t(48514);const g=Object.freeze({createNameColumn(n){function a(s){return s.metadata?.title||(0,G.S)(s,{defaultKind:n?.defaultKind})}return{title:"Name",field:"resolved.entityRef",highlight:!0,customSort({entity:s},{entity:o}){return a(s).localeCompare(a(o))},render:({entity:s})=>(0,e.jsx)(lt.z,{entityRef:s,defaultKind:n?.defaultKind||"Component"})}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",customFilterAndSearch:(n,a)=>a.resolved.partOfSystemRelations?a.resolved.partOfSystemRelations.map(i=>i.name).join(", ").toLocaleUpperCase("en-US").includes(n.toLocaleUpperCase("en-US")):!1,render:({resolved:n})=>(0,e.jsx)(me.i,{entityRefs:n.partOfSystemRelations,defaultKind:"system"})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:n})=>(0,e.jsx)(me.i,{entityRefs:n.ownedByRelations,defaultKind:"group"})}},createSpecTargetsColumn(){return{title:"Targets",field:"entity.spec.targets",customFilterAndSearch:(n,a)=>{let s=[];return a.entity?.spec?.targets&&Array.isArray(a.entity?.spec?.targets)?s=a.entity?.spec?.targets:a.entity?.spec?.target&&(s=[a.entity?.spec?.target]),s.join(", ").toLocaleUpperCase("en-US").includes(n.toLocaleUpperCase("en-US"))},render:({entity:n})=>(0,e.jsx)(e.Fragment,{children:(n?.spec?.targets||n?.spec?.target)&&(0,e.jsx)(fe.M,{text:(n.spec.targets||[n.spec.target]).join(", "),placement:"bottom-start"})})}},createSpecTypeColumn(n={hidden:!1}){return{title:"Type",field:"entity.spec.type",hidden:n.hidden,width:"auto"}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}},createMetadataDescriptionColumn(){return{title:"Description",field:"entity.metadata.description",render:({entity:n})=>(0,e.jsx)(fe.M,{text:n.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:n})=>(0,e.jsx)(e.Fragment,{children:n.metadata.tags&&n.metadata.tags.map(a=>(0,e.jsx)(pe.A,{label:a,size:"small",variant:"outlined",style:{marginBottom:"0px"}},a))}),width:"auto"}},createTitleColumn(n){return{title:"Title",field:"entity.metadata.title",hidden:n?.hidden,searchable:!0}},createLabelColumn(n,a){function s(o,i){const l=i.metadata?.labels;return l&&l[o]||""}return{title:a?.title||"Label",field:"entity.metadata.labels",cellStyle:{padding:"0px 16px 0px 20px"},customSort({entity:o},{entity:i}){return s(n,o).localeCompare(s(n,i))},render:({entity:o})=>{const i=o.metadata?.labels,l=i&&i[n]||a?.defaultValue;return(0,e.jsx)(e.Fragment,{children:l&&(0,e.jsx)(pe.A,{label:l,size:"small",variant:"outlined"},l)})},width:"auto"}},createNamespaceColumn(){return{title:"Namespace",field:"entity.metadata.namespace",width:"auto"}}});var rt=t(95061),ct=t(63301),ye=t(34839),ge=t(75173),dt=t(64704),ut=t(45917),mt=t(16983);const pt=(0,Y.A)(n=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),ft=()=>{const n=pt(),{t:a}=(0,R.i)(U.j),{updateFilters:s,queryParameters:{text:o}}=(0,v.nK)(),i=(0,p.useMemo)(()=>[o].flat()[0],[o]),[l,r]=(0,p.useState)(i??"");return(0,mt.A)(()=>{s({text:l.length?new N.V3(l):void 0})},250,[l,s]),(0,p.useEffect)(()=>{i&&r(i)},[i]),(0,e.jsx)(ge.A,{className:n.searchToolbar,children:(0,e.jsx)(rt.A,{children:(0,e.jsx)(ct.A,{"aria-label":"search",id:"input-with-icon-adornment",className:n.input,placeholder:a("entitySearchBar.placeholder"),autoComplete:"off",onChange:c=>r(c.target.value),value:l,startAdornment:(0,e.jsx)(ye.A,{position:"start",children:(0,e.jsx)(ut.A,{})}),endAdornment:(0,e.jsx)(ye.A,{position:"end",children:(0,e.jsx)(C.A,{"aria-label":"clear search",onClick:()=>r(""),edge:"end",disabled:l.length===0,children:(0,e.jsx)(dt.A,{})})})})})})},yt=(0,Y.A)(n=>({root:{paddingTop:n.spacing(1.25),paddingLeft:n.spacing(2.5),paddingBottom:n.spacing(.75),display:"flex",justifyContent:"space-between"},text:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}),{name:"PluginCatalogTableToolbar"});function he(n){const a=yt();return(0,e.jsxs)(ge.A,{className:a.root,children:[(0,e.jsx)(_.A,{variant:"h5",className:a.text,children:n.title}),(0,e.jsx)(ft,{})]})}function gt(n){const{columns:a,data:s,options:o,...i}=n,{setLimit:l,setOffset:r,limit:c,totalItems:d,offset:f}=(0,v.nK)(),[u,P]=(0,p.useState)(f&&c?Math.floor(f/c):0);return(0,p.useEffect)(()=>{d&&u*c>=d?r(Math.max(0,d-c)):r(Math.max(0,u*c))},[r,u,c,d]),(0,e.jsx)(q.X,{columns:a,data:s,options:{paginationPosition:"both",pageSizeOptions:[5,10,20,50,100],pageSize:c,emptyRowsWhenPaging:!1,...o},components:{Toolbar:he},page:u,onPageChange:h=>{P(h)},onRowsPerPageChange:h=>{l(h)},totalCount:d,localization:{pagination:{labelDisplayedRows:""}},...i})}function ht(n){const{columns:a,data:s,next:o,prev:i,options:l,...r}=n;return(0,e.jsx)(q.X,{columns:a,data:s,options:{paginationPosition:"both",...l,pageSizeOptions:[],showFirstLastPageButtons:!1,pageSize:Number.MAX_SAFE_INTEGER,emptyRowsWhenPaging:!1},onPageChange:c=>{c>0?o?.():i?.()},components:{Toolbar:he},page:i?1:0,totalCount:o?Number.MAX_VALUE:Number.MAX_SAFE_INTEGER,localization:{pagination:{labelDisplayedRows:""}},...r})}const Ce=({filters:n,entities:a})=>{const s=n.type===void 0;return[g.createTitleColumn({hidden:!0}),g.createNameColumn({defaultKind:n.kind?.value}),...o()];function o(){const i=[g.createMetadataDescriptionColumn(),g.createTagsColumn()],l=[g.createSystemColumn(),g.createOwnerColumn(),g.createSpecTypeColumn({hidden:!s}),g.createSpecLifecycleColumn()];switch(n.kind?.value){case"user":return[...i];case"domain":case"system":return[g.createOwnerColumn(),...i];case"group":case"template":return[g.createSpecTypeColumn({hidden:!s}),...i];case"location":return[g.createSpecTypeColumn({hidden:!s}),g.createSpecTargetsColumn()];default:return a.every(r=>r.metadata.namespace==="default")?[...l,...i]:[...l,g.createNamespaceColumn(),...i]}}};var ve=t(90759),Ct=t(18956);const vt=(n,a)=>{const s=o=>o.metadata.title||(0,G.S)(o,{defaultKind:"Component"});return s(n).localeCompare(s(a))},J=n=>{const{columns:a=Ce,tableOptions:s,subtitle:o,emptyContent:i}=n,{isStarredEntity:l,toggleStarredEntity:r}=(0,tt.I)(),c=(0,v.nK)(),{loading:d,error:f,entities:u,filters:P,pageInfo:h,totalItems:A,paginationMode:X}=c,w=(0,p.useMemo)(()=>typeof a=="function"?a(c):a,[a,c]),{t:j}=(0,R.i)(ve.W);if(f)return(0,e.jsx)("div",{children:(0,e.jsx)(_e.B,{severity:"error",title:j("catalogTable.warningPanelTitle"),children:(0,e.jsx)(et.z,{language:"text",text:f.toString()})})});const $=[({entity:M})=>{const E=M.metadata.annotations?.[re._P],D=j("catalogTable.viewActionTitle");return{icon:()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(_.A,{style:ue.A,children:D}),(0,e.jsx)(at.A,{fontSize:"small"})]}),tooltip:D,disabled:!E,onClick:()=>{E&&window.open(E,"_blank")}}},({entity:M})=>{const E=M.metadata.annotations?.[re.P],D=j("catalogTable.editActionTitle");return{icon:()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(_.A,{style:ue.A,children:D}),(0,e.jsx)(nt.A,{fontSize:"small"})]}),tooltip:D,disabled:!E,onClick:()=>{E&&window.open(E,"_blank")}}},({entity:M})=>{const E=l(M),D=j(E?"catalogTable.unStarActionTitle":"catalogTable.starActionTitle");return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,e.jsx)(Ct.m,{isFavorite:E}),tooltip:D,onClick:()=>r(M)}}],B=P.kind?.label||"",Pt=P.type?.value||"",At=typeof A=="number"?`(${A})`:"",jt=(0,st.capitalize)(P.user?.value??"all"),te=n.title||[jt,Pt,ot()(B),At].filter(M=>M).join(" "),ne=n.actions||$,ae={actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!d,padding:"dense",...s};if(X==="cursor")return(0,e.jsx)(ht,{columns:w,emptyContent:i,isLoading:d,title:te,actions:ne,subtitle:o,options:ae,data:u.map(ee),next:h?.next,prev:h?.prev});if(X==="offset")return(0,e.jsx)(gt,{columns:w,emptyContent:i,isLoading:d,title:te,actions:ne,subtitle:o,options:ae,data:u.map(ee)});const xe=u.sort(vt).map(ee),Pe=20,Et=xe.length>Pe;return(0,e.jsx)(q.X,{isLoading:d,columns:w,options:{paging:Et,pageSize:Pe,pageSizeOptions:[20,50,100],...ae},title:te,data:xe,actions:ne,subtitle:o,emptyContent:i})};J.columns=g,J.defaultColumnsFunc=Ce;function ee(n){const a=(0,de.t)(n,ce.jn,{kind:"system"}),s=(0,de.t)(n,ce.vv);return{entity:n,resolved:{name:(0,G.S)(n,{defaultKind:"Component"}),entityRef:(0,qe.U2)(n),ownedByRelationsTitle:s.map(o=>(0,G.S)(o,{defaultKind:"group"})).join(", "),ownedByRelations:s,partOfSystemRelationTitle:a.map(o=>(0,G.S)(o,{defaultKind:"system"})).join(", "),partOfSystemRelations:a}}}var Tt=t(35773),St=t(36989);function Te(n){const{filters:a,content:s=(0,e.jsx)(J,{}),pagination:o}=n,i=(0,m.gf)(S.U).getOptionalString("organization.name")??"Backstage",l=(0,b.S)(Ze.qP),{t:r}=(0,R.i)(ve.W),{allowed:c}=(0,St.J)({permission:Tt.C4});return(0,e.jsx)(L.d,{title:r("indexPage.title",{orgName:i}),themeId:"home",children:(0,e.jsxs)(x.U,{children:[(0,e.jsxs)(K.d,{title:"",children:[c&&(0,e.jsx)(V,{title:r("indexPage.createButtonTitle"),to:l&&l()}),(0,e.jsx)(k.Y,{children:r("indexPage.supportButtonContent")})]}),(0,e.jsx)(v.B9,{pagination:o,children:(0,e.jsxs)(F.GI,{children:[(0,e.jsx)(F.GI.Filters,{children:a}),(0,e.jsx)(F.GI.Content,{children:s})]})})]})})}function Se(n){const{columns:a,actions:s,initiallySelectedFilter:o="owned",initialKind:i="component",tableOptions:l={},emptyContent:r,pagination:c,ownerPickerMode:d,filters:f,initiallySelectedNamespaces:u}=n;return(0,e.jsx)(Te,{filters:f??(0,e.jsx)($e,{initialKind:i,initiallySelectedFilter:o,ownerPickerMode:d,initiallySelectedNamespaces:u}),content:(0,e.jsx)(J,{columns:a,actions:s,tableOptions:l,emptyContent:r}),pagination:c})}function xt(n){return(0,y.P1)()||(0,e.jsx)(Se,{...n})}},14117:(W,T,t)=>{t.d(T,{i:()=>e});function e({name:y,attributes:L,resourceType:x}){return x?{type:"resource",name:y,attributes:L,resourceType:x}:{type:"basic",name:y,attributes:L}}},36989:(W,T,t)=>{t.d(T,{J:()=>k});var e=t(72427),y=t(96824);function L(m,S){return m.name===S.name}function x(m,S){return"resourceType"in m?!S||m.resourceType===S:!1}function K(m){return m.attributes.action==="create"}function O(m){return m.attributes.action==="read"}function C(m){return m.attributes.action==="update"}function I(m){return m.attributes.action==="delete"}function H(m){return{authorize:async(S,b)=>await m.authorize(S,b),authorizeConditional(S,b){const v=S;return m.authorize(v,b)}}}var z=t(54241),V=t(68721);function k(m){const S=(0,e.gf)(y.x),{data:b,error:v}=(0,V.Ay)(m,async F=>{if(x(F.permission)&&!F.resourceRef)return z.b.DENY;const{result:Q}=await S.authorize(F);return Q});return v?{error:v,loading:!1,allowed:!1}:b===void 0?{loading:!0,allowed:!1}:{loading:!1,allowed:b===z.b.ALLOW}}}}]);})();
3
3
 
4
- //# sourceMappingURL=2177.84bbb70f.chunk.js.map
4
+ //# sourceMappingURL=2177.a6feec05.chunk.js.map