Skip to content
5 changes: 5 additions & 0 deletions workspaces/confluence/.changeset/common-tips-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@philips-software/backstage-plugin-search-confluence-frontend': minor
---

Added support for the new frontend system
2 changes: 1 addition & 1 deletion workspaces/confluence/backstage.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "1.37.0"
"version": "1.43.2"
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
{
"name": "@philips-software/backstage-plugin-search-confluence-frontend",
"version": "2.4.3",
"exports": {
".": "./src/index.ts",
"./alpha": "./src/alpha.tsx",
"./package.json": "./package.json"
},
"main": "src/index.ts",
"types": "src/index.ts",
"typesVersions": {
"*": {
"alpha": [
"src/alpha.tsx"
],
"package.json": [
"package.json"
]
}
},
"license": "MIT",
"publishConfig": {
"access": "public",
Expand Down Expand Up @@ -34,6 +49,7 @@
"dependencies": {
"@backstage/core-components": "backstage:^",
"@backstage/core-plugin-api": "backstage:^",
"@backstage/frontend-plugin-api": "backstage:^",
"@backstage/plugin-search-common": "backstage:^",
"@backstage/plugin-search-react": "backstage:^",
"@backstage/theme": "backstage:^",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
## API Report File for "@philips-software/backstage-plugin-search-confluence-frontend"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { ExtensionDataRef } from '@backstage/frontend-plugin-api';
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
import { OverridableFrontendPlugin } from '@backstage/frontend-plugin-api';
import { SearchFilterResultTypeBlueprintParams } from '@backstage/plugin-search-react/alpha';
import { SearchResultItemExtensionComponent } from '@backstage/plugin-search-react/alpha';
import { SearchResultItemExtensionPredicate } from '@backstage/plugin-search-react/alpha';
import { SearchResultListItemBlueprintParams } from '@backstage/plugin-search-react/alpha';

// @public
export const confluenceSearchFilterResultType: ExtensionDefinition< {
kind: "search-filter-result-type";
name: undefined;
config: {};
configInput: {};
output: ExtensionDataRef< {
value: string;
name: string;
icon: JSX.Element;
}, "search.filters.result-types.type", {}>;
inputs: {};
params: SearchFilterResultTypeBlueprintParams;
}>;

// @public
export const confluenceSearchResultListItem: ExtensionDefinition< {
kind: "search-result-list-item";
name: undefined;
config: {
noTrack: boolean;
};
configInput: {
noTrack?: boolean | undefined;
};
output: ExtensionDataRef< {
predicate?: SearchResultItemExtensionPredicate;
component: SearchResultItemExtensionComponent;
}, "search.search-result-list-item.item", {}>;
inputs: {};
params: SearchResultListItemBlueprintParams;
}>;

// @public
const _default: OverridableFrontendPlugin< {}, {}, {
"search-filter-result-type:search-confluence-frontend": ExtensionDefinition< {
kind: "search-filter-result-type";
name: undefined;
config: {};
configInput: {};
output: ExtensionDataRef< {
value: string;
name: string;
icon: JSX.Element;
}, "search.filters.result-types.type", {}>;
inputs: {};
params: SearchFilterResultTypeBlueprintParams;
}>;
"search-result-list-item:search-confluence-frontend": ExtensionDefinition< {
kind: "search-result-list-item";
name: undefined;
config: {
noTrack: boolean;
};
configInput: {
noTrack?: boolean | undefined;
};
output: ExtensionDataRef< {
predicate?: SearchResultItemExtensionPredicate;
component: SearchResultItemExtensionComponent;
}, "search.search-result-list-item.item", {}>;
inputs: {};
params: SearchResultListItemBlueprintParams;
}>;
}>;
export default _default;

// (No @packageDocumentation comment for this package)

```
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import { BackstagePlugin } from '@backstage/core-plugin-api';
import { IndexableDocument } from '@backstage/plugin-search-common';
import { default as React_2 } from 'react';
import { JSX as JSX_2 } from 'react/jsx-runtime';
import { ResultHighlight } from '@backstage/plugin-search-common';
import { SearchResultListItemExtensionProps } from '@backstage/plugin-search-react';

Expand All @@ -20,7 +20,7 @@ export interface ConfluenceResultItemProps {
export const ConfluenceResultListItem: (props: SearchResultListItemExtensionProps<ConfluenceResultItemProps>) => JSX.Element | null;

// @public
export const ConfluenceSearchIcon: () => React_2.JSX.Element;
export const ConfluenceSearchIcon: () => JSX_2.Element;

// @public
export const searchConfluenceFrontendPlugin: BackstagePlugin< {}, {}, {}>;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { createFrontendPlugin } from '@backstage/frontend-plugin-api';
import {
SearchFilterResultTypeBlueprint,
SearchResultListItemBlueprint,
} from '@backstage/plugin-search-react/alpha';
import { ConfluenceSearchIcon } from './icons';

/**
* A search result list item extension for Confluence.
*
* @public
*/
export const confluenceSearchResultListItem =
SearchResultListItemBlueprint.make({
params: {
component: () =>
import('./components/ConfluenceResultListItem').then(
m => m.ConfluenceResultListItem,
),
predicate: result => result.type === 'confluence',
},
});

/**
* A search filter result type extension for Confluence.
*
* @public
*/
export const confluenceSearchFilterResultType =
SearchFilterResultTypeBlueprint.make({
params: {
name: 'Confluence',
value: 'confluence',
icon: <ConfluenceSearchIcon />,
},
});

/**
* A plugin to display search results from Confluence.
*
* @public
*/
export default createFrontendPlugin({
pluginId: 'search-confluence-frontend',
extensions: [
confluenceSearchResultListItem,
confluenceSearchFilterResultType,
],
});
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import React from 'react';
import { screen } from '@testing-library/react';
import { renderInTestApp } from '@backstage/test-utils';
import { ConfluenceResultListItem } from './ConfluenceResultListItem';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import React from 'react';
import { Link } from '@backstage/core-components';
import {
IndexableDocument,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import React from 'react';
import { render } from '@testing-library/react';
import { ConfluenceSearchIcon } from './ConfluenceSearchIcon';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import React from 'react';

/**
* Confluence Search Icon
* @public
Expand Down
3 changes: 2 additions & 1 deletion workspaces/confluence/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"rootDir": ".",
"lib": ["DOM", "DOM.Iterable", "ScriptHost", "ES2022"],
"target": "ES2022",
"useUnknownInCatchVariables": false
"useUnknownInCatchVariables": false,
"jsx": "react-jsx"
}
}
Loading
Loading