@drodil/backstage-plugin-qeta 3.37.0 → 3.37.1

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.
package/dist/alpha.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import * as _backstage_catalog_model from '@backstage/catalog-model';
2
1
  import * as react from 'react';
3
2
  import * as _backstage_plugin_catalog_react_alpha from '@backstage/plugin-catalog-react/alpha';
4
3
  import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
5
4
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
5
+ import { Entity } from '@backstage/catalog-model';
6
6
  export { qetaTranslationRef } from '@drodil/backstage-plugin-qeta-react';
7
7
 
8
8
  /** @alpha */
@@ -75,7 +75,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
75
75
  };
76
76
  output: _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
77
77
  optional: true;
78
- }> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: _backstage_catalog_model.Entity) => boolean, "catalog.entity-filter-function", {
78
+ }> | _backstage_frontend_plugin_api.ExtensionDataRef<(entity: Entity) => boolean, "catalog.entity-filter-function", {
79
79
  optional: true;
80
80
  }> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "catalog.entity-filter-expression", {
81
81
  optional: true;
@@ -101,7 +101,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
101
101
  group?: ("overview" | "documentation" | "development" | "deployment" | "operation" | "observability") | (string & {});
102
102
  loader: () => Promise<JSX.Element>;
103
103
  routeRef?: _backstage_frontend_plugin_api.RouteRef;
104
- filter?: string | _backstage_plugin_catalog_react_alpha.EntityPredicate | ((entity: _backstage_catalog_model.Entity) => boolean);
104
+ filter?: string | _backstage_plugin_catalog_react_alpha.EntityPredicate | ((entity: Entity) => boolean);
105
105
  };
106
106
  }>;
107
107
  "nav-item:qeta": _backstage_frontend_plugin_api.ExtensionDefinition<{
package/dist/alpha.esm.js CHANGED
@@ -3,9 +3,9 @@ import { ApiBlueprint, PageBlueprint, createExtensionInput, coreExtensionData, N
3
3
  import { convertLegacyRouteRef, compatWrapper, convertLegacyRouteRefs } from '@backstage/core-compat-api';
4
4
  import { qetaApiRef, qetaRouteRef } from '@drodil/backstage-plugin-qeta-react';
5
5
  export { qetaTranslationRef } from '@drodil/backstage-plugin-qeta-react';
6
- import { discoveryApiRef, fetchApiRef } from '@backstage/core-plugin-api';
6
+ import { discoveryApiRef, fetchApiRef, configApiRef } from '@backstage/core-plugin-api';
7
7
  import { QetaClient } from '@drodil/backstage-plugin-qeta-common';
8
- import LiveHelpIcon from '@material-ui/icons/LiveHelp';
8
+ import ContactSupportIcon from '@material-ui/icons/ContactSupport';
9
9
  import { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';
10
10
 
11
11
  const qetaApi = ApiBlueprint.make({
@@ -80,10 +80,19 @@ const EntityPostsContent = EntityContentBlueprint.makeWithOverrides({
80
80
  view: (z) => z.enum(["list", "grid"]).optional()
81
81
  }
82
82
  },
83
- factory: (originalFactory, { config }) => {
83
+ factory: (originalFactory, { config, apis }) => {
84
84
  return originalFactory({
85
85
  path: config.path ?? "/qeta",
86
86
  title: config.title ?? "Q&A",
87
+ filter: (entity) => {
88
+ const configApi = apis.get(configApiRef);
89
+ const supportedKinds = (configApi?.getOptionalStringArray("qeta.entityKinds") ?? [
90
+ "system",
91
+ "component"
92
+ ])?.map((k) => k.toLowerCase());
93
+ const entityKind = entity.kind.toLowerCase();
94
+ return supportedKinds?.includes(entityKind);
95
+ },
87
96
  loader: async () => import('./components/EntityPostsContent/EntityPostsContent.esm.js').then(
88
97
  (m) => compatWrapper(/* @__PURE__ */ jsx(m.EntityPostsContent, { ...config }))
89
98
  )
@@ -94,7 +103,7 @@ const qetaNavItem = NavItemBlueprint.make({
94
103
  params: {
95
104
  title: "Q&A",
96
105
  routeRef: convertLegacyRouteRef(qetaRouteRef),
97
- icon: LiveHelpIcon
106
+ icon: ContactSupportIcon
98
107
  }
99
108
  });
100
109
  var alpha = createFrontendPlugin({
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["import {\n ApiBlueprint,\n coreExtensionData,\n createExtensionInput,\n createFrontendPlugin,\n NavItemBlueprint,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n compatWrapper,\n convertLegacyRouteRef,\n convertLegacyRouteRefs,\n} from '@backstage/core-compat-api';\nimport { qetaApiRef, qetaRouteRef } from '@drodil/backstage-plugin-qeta-react';\nimport { discoveryApiRef, fetchApiRef } from '@backstage/core-plugin-api';\nimport { QetaClient } from '@drodil/backstage-plugin-qeta-common';\nimport LiveHelpIcon from '@material-ui/icons/LiveHelp';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\n\nconst qetaApi = ApiBlueprint.make({\n params: defineParams =>\n defineParams({\n api: qetaApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory({ discoveryApi, fetchApi }) {\n return new QetaClient({ discoveryApi, fetchApi });\n },\n }),\n});\n\nconst qetaPage = PageBlueprint.makeWithOverrides({\n config: {\n schema: {\n subtitle: z => z.string().optional(),\n themeId: z => z.string().optional(),\n headerTooltip: z => z.string().optional(),\n headerType: z => z.string().optional(),\n headerTypeLink: z => z.string().optional(),\n },\n },\n inputs: {\n introElement: createExtensionInput([coreExtensionData.reactElement], {\n singleton: true,\n optional: true,\n }),\n headerElements: createExtensionInput([coreExtensionData.reactElement], {\n singleton: false,\n optional: true,\n }),\n },\n factory: (originalFactory, { config, inputs }) => {\n const introElement = inputs.introElement?.get(\n coreExtensionData.reactElement,\n );\n const headerElements = inputs.headerElements.map(e =>\n e.get(coreExtensionData.reactElement),\n );\n return originalFactory({\n path: config.path ?? '/qeta',\n routeRef: convertLegacyRouteRef(qetaRouteRef),\n loader: () =>\n import('./components/QetaPage').then(m =>\n compatWrapper(\n <m.QetaPage\n {...config}\n introElement={introElement}\n headerElements={headerElements}\n />,\n ),\n ),\n });\n },\n});\n\nconst EntityPostsContent = EntityContentBlueprint.makeWithOverrides({\n name: 'entity-posts-content',\n config: {\n schema: {\n showFilters: z => z.boolean().optional(),\n showTitle: z => z.boolean().optional(),\n showAskButton: z => z.boolean().optional(),\n showWriteButton: z => z.boolean().optional(),\n showLinkButton: z => z.boolean().optional(),\n showNoQuestionsBtn: z => z.boolean().optional(),\n initialPageSize: z => z.number().optional(),\n type: z => z.enum(['question', 'article', 'link']).optional(),\n view: z => z.enum(['list', 'grid']).optional(),\n },\n },\n factory: (originalFactory, { config }) => {\n return originalFactory({\n path: config.path ?? '/qeta',\n title: config.title ?? 'Q&A',\n loader: async () =>\n import('./components/EntityPostsContent/EntityPostsContent.tsx').then(\n m => compatWrapper(<m.EntityPostsContent {...config} />),\n ),\n });\n },\n});\n\n/** @alpha */\nexport const qetaNavItem = NavItemBlueprint.make({\n params: {\n title: 'Q&A',\n routeRef: convertLegacyRouteRef(qetaRouteRef),\n icon: LiveHelpIcon,\n },\n});\n\n/**\n * Backstage frontend plugin.\n *\n * @alpha\n */\nexport default createFrontendPlugin({\n pluginId: 'qeta',\n info: { packageJson: () => import('../package.json') },\n routes: convertLegacyRouteRefs({\n root: qetaRouteRef,\n }),\n extensions: [qetaApi, qetaPage, EntityPostsContent, qetaNavItem],\n});\n\nexport { qetaTranslationRef } from '@drodil/backstage-plugin-qeta-react';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["import {\n ApiBlueprint,\n coreExtensionData,\n createExtensionInput,\n createFrontendPlugin,\n NavItemBlueprint,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n compatWrapper,\n convertLegacyRouteRef,\n convertLegacyRouteRefs,\n} from '@backstage/core-compat-api';\nimport { qetaApiRef, qetaRouteRef } from '@drodil/backstage-plugin-qeta-react';\nimport {\n configApiRef,\n discoveryApiRef,\n fetchApiRef,\n} from '@backstage/core-plugin-api';\nimport { QetaClient } from '@drodil/backstage-plugin-qeta-common';\nimport ContactSupportIcon from '@material-ui/icons/ContactSupport';\nimport { EntityContentBlueprint } from '@backstage/plugin-catalog-react/alpha';\nimport { Entity } from '@backstage/catalog-model';\n\nconst qetaApi = ApiBlueprint.make({\n params: defineParams =>\n defineParams({\n api: qetaApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory({ discoveryApi, fetchApi }) {\n return new QetaClient({ discoveryApi, fetchApi });\n },\n }),\n});\n\nconst qetaPage = PageBlueprint.makeWithOverrides({\n config: {\n schema: {\n subtitle: z => z.string().optional(),\n themeId: z => z.string().optional(),\n headerTooltip: z => z.string().optional(),\n headerType: z => z.string().optional(),\n headerTypeLink: z => z.string().optional(),\n },\n },\n inputs: {\n introElement: createExtensionInput([coreExtensionData.reactElement], {\n singleton: true,\n optional: true,\n }),\n headerElements: createExtensionInput([coreExtensionData.reactElement], {\n singleton: false,\n optional: true,\n }),\n },\n factory: (originalFactory, { config, inputs }) => {\n const introElement = inputs.introElement?.get(\n coreExtensionData.reactElement,\n );\n const headerElements = inputs.headerElements.map(e =>\n e.get(coreExtensionData.reactElement),\n );\n return originalFactory({\n path: config.path ?? '/qeta',\n routeRef: convertLegacyRouteRef(qetaRouteRef),\n loader: () =>\n import('./components/QetaPage').then(m =>\n compatWrapper(\n <m.QetaPage\n {...config}\n introElement={introElement}\n headerElements={headerElements}\n />,\n ),\n ),\n });\n },\n});\n\nconst EntityPostsContent = EntityContentBlueprint.makeWithOverrides({\n name: 'entity-posts-content',\n config: {\n schema: {\n showFilters: z => z.boolean().optional(),\n showTitle: z => z.boolean().optional(),\n showAskButton: z => z.boolean().optional(),\n showWriteButton: z => z.boolean().optional(),\n showLinkButton: z => z.boolean().optional(),\n showNoQuestionsBtn: z => z.boolean().optional(),\n initialPageSize: z => z.number().optional(),\n type: z => z.enum(['question', 'article', 'link']).optional(),\n view: z => z.enum(['list', 'grid']).optional(),\n },\n },\n factory: (originalFactory, { config, apis }) => {\n return originalFactory({\n path: config.path ?? '/qeta',\n title: config.title ?? 'Q&A',\n filter: (entity: Entity) => {\n const configApi = apis.get(configApiRef);\n const supportedKinds = (\n configApi?.getOptionalStringArray('qeta.entityKinds') ?? [\n 'system',\n 'component',\n ]\n )?.map(k => k.toLowerCase());\n const entityKind = entity.kind.toLowerCase();\n return supportedKinds?.includes(entityKind);\n },\n loader: async () =>\n import('./components/EntityPostsContent/EntityPostsContent.tsx').then(\n m => compatWrapper(<m.EntityPostsContent {...config} />),\n ),\n });\n },\n});\n\n/** @alpha */\nexport const qetaNavItem = NavItemBlueprint.make({\n params: {\n title: 'Q&A',\n routeRef: convertLegacyRouteRef(qetaRouteRef),\n icon: ContactSupportIcon,\n },\n});\n\n/**\n * Backstage frontend plugin.\n *\n * @alpha\n */\nexport default createFrontendPlugin({\n pluginId: 'qeta',\n info: { packageJson: () => import('../package.json') },\n routes: convertLegacyRouteRefs({\n root: qetaRouteRef,\n }),\n extensions: [qetaApi, qetaPage, EntityPostsContent, qetaNavItem],\n});\n\nexport { qetaTranslationRef } from '@drodil/backstage-plugin-qeta-react';\n"],"names":[],"mappings":"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"}
@@ -2,18 +2,24 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { PostsContainer } from '@drodil/backstage-plugin-qeta-react';
4
4
  import { Content } from '@backstage/core-components';
5
- import { stringifyEntityRef } from '@backstage/catalog-model';
5
+ import { isUserEntity, stringifyEntityRef } from '@backstage/catalog-model';
6
6
  import { useEntity } from '@backstage/plugin-catalog-react';
7
7
  import { Container } from '@material-ui/core';
8
8
 
9
9
  const EntityPostsContent = (props) => {
10
10
  const [view, setView] = useState("list");
11
11
  const { entity } = useEntity();
12
+ const additionalProps = {};
13
+ if (isUserEntity(entity)) {
14
+ additionalProps.author = stringifyEntityRef(entity);
15
+ } else {
16
+ additionalProps.entity = props.entity ?? stringifyEntityRef(entity);
17
+ }
12
18
  return /* @__PURE__ */ jsx(Content, { children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsx(
13
19
  PostsContainer,
14
20
  {
15
21
  ...props,
16
- entity: props.entity ? props.entity : stringifyEntityRef(entity),
22
+ ...additionalProps,
17
23
  view,
18
24
  onViewChange: setView
19
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPostsContent.esm.js","sources":["../../../src/components/EntityPostsContent/EntityPostsContent.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n PostsContainer,\n PostsContainerProps,\n ViewType,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Content } from '@backstage/core-components';\nimport { stringifyEntityRef } from '@backstage/catalog-model';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { Container } from '@material-ui/core';\n\nexport const EntityPostsContent = (props: PostsContainerProps) => {\n const [view, setView] = useState<ViewType>('list');\n const { entity } = useEntity();\n return (\n <Content>\n <Container>\n <PostsContainer\n {...props}\n entity={props.entity ? props.entity : stringifyEntityRef(entity)}\n view={view}\n onViewChange={setView}\n />\n </Container>\n </Content>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAWa,MAAA,kBAAA,GAAqB,CAAC,KAA+B,KAAA;AAChE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAmB,MAAM,CAAA;AACjD,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAC7B,EACE,uBAAA,GAAA,CAAC,OACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,SACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,QAAQ,KAAM,CAAA,MAAA,GAAS,KAAM,CAAA,MAAA,GAAS,mBAAmB,MAAM,CAAA;AAAA,MAC/D,IAAA;AAAA,MACA,YAAc,EAAA;AAAA;AAAA,KAElB,CACF,EAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"EntityPostsContent.esm.js","sources":["../../../src/components/EntityPostsContent/EntityPostsContent.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n PostsContainer,\n PostsContainerProps,\n ViewType,\n} from '@drodil/backstage-plugin-qeta-react';\nimport { Content } from '@backstage/core-components';\nimport { isUserEntity, stringifyEntityRef } from '@backstage/catalog-model';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { Container } from '@material-ui/core';\n\nexport const EntityPostsContent = (props: PostsContainerProps) => {\n const [view, setView] = useState<ViewType>('list');\n const { entity } = useEntity();\n const additionalProps: PostsContainerProps = {};\n if (isUserEntity(entity)) {\n additionalProps.author = stringifyEntityRef(entity);\n } else {\n additionalProps.entity = props.entity ?? stringifyEntityRef(entity);\n }\n\n return (\n <Content>\n <Container>\n <PostsContainer\n {...props}\n {...additionalProps}\n view={view}\n onViewChange={setView}\n />\n </Container>\n </Content>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAWa,MAAA,kBAAA,GAAqB,CAAC,KAA+B,KAAA;AAChE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAmB,MAAM,CAAA;AACjD,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,SAAU,EAAA;AAC7B,EAAA,MAAM,kBAAuC,EAAC;AAC9C,EAAI,IAAA,YAAA,CAAa,MAAM,CAAG,EAAA;AACxB,IAAgB,eAAA,CAAA,MAAA,GAAS,mBAAmB,MAAM,CAAA;AAAA,GAC7C,MAAA;AACL,IAAA,eAAA,CAAgB,MAAS,GAAA,KAAA,CAAM,MAAU,IAAA,kBAAA,CAAmB,MAAM,CAAA;AAAA;AAGpE,EACE,uBAAA,GAAA,CAAC,OACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,SACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACH,GAAG,eAAA;AAAA,MACJ,IAAA;AAAA,MACA,YAAc,EAAA;AAAA;AAAA,KAElB,CACF,EAAA,CAAA;AAEJ;;;;"}
@@ -6,7 +6,7 @@ var keywords = [
6
6
  "frontend",
7
7
  "backstage.io"
8
8
  ];
9
- var version = "3.37.0";
9
+ var version = "3.37.1";
10
10
  var main = "src/index.ts";
11
11
  var types = "src/index.ts";
12
12
  var prepublishOnly = "yarn tsc && yarn build";
@@ -92,6 +92,7 @@ var resolutions = {
92
92
  var devDependencies = {
93
93
  "@backstage/cli": "backstage:^",
94
94
  "@backstage/dev-utils": "backstage:^",
95
+ "@backstage/frontend-defaults": "backstage:^",
95
96
  "@backstage/plugin-catalog": "backstage:^",
96
97
  "@backstage/plugin-home": "backstage:^",
97
98
  "@backstage/plugin-notifications": "backstage:^",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "frontend",
8
8
  "backstage.io"
9
9
  ],
10
- "version": "3.37.0",
10
+ "version": "3.37.1",
11
11
  "main": "./dist/index.esm.js",
12
12
  "types": "./dist/index.d.ts",
13
13
  "prepublishOnly": "yarn tsc && yarn build",
@@ -83,8 +83,8 @@
83
83
  "@backstage/plugin-search-common": "^1.2.19",
84
84
  "@backstage/plugin-search-react": "^1.9.4",
85
85
  "@backstage/plugin-signals-react": "^0.0.15",
86
- "@drodil/backstage-plugin-qeta-common": "^3.37.0",
87
- "@drodil/backstage-plugin-qeta-react": "^3.37.0",
86
+ "@drodil/backstage-plugin-qeta-common": "^3.37.1",
87
+ "@drodil/backstage-plugin-qeta-react": "^3.37.1",
88
88
  "@material-ui/core": "^4.12.2",
89
89
  "@material-ui/icons": "^4.11.3",
90
90
  "@material-ui/lab": "4.0.0-alpha.61",
@@ -105,6 +105,7 @@
105
105
  "devDependencies": {
106
106
  "@backstage/cli": "^0.34.3",
107
107
  "@backstage/dev-utils": "^1.1.14",
108
+ "@backstage/frontend-defaults": "^0.3.1",
108
109
  "@backstage/plugin-catalog": "^1.31.3",
109
110
  "@backstage/plugin-home": "^0.8.12",
110
111
  "@backstage/plugin-notifications": "^0.5.9",