@backstage/plugin-org 0.7.0-next.2 → 0.7.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.
- package/CHANGELOG.md +54 -0
- package/README.md +27 -3
- package/dist/alpha.d.ts +29 -28
- package/dist/alpha.esm.js +3 -2
- package/dist/alpha.esm.js.map +1 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/package.json.esm.js +1 -1
- package/dist/translation.esm.js.map +1 -1
- package/package.json +18 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
# @backstage/plugin-org
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d14b6e0: **BREAKING**: Migrated `MembersListCard`, `OwnershipCard`, and `CatalogGraphCard` to use BUI card primitives via `EntityInfoCard`.
|
|
8
|
+
|
|
9
|
+
- `OwnershipCard`: Removed `variant` and `maxScrollHeight` props. Card height and scrolling are now controlled by the parent container — the card fills its container and the body scrolls automatically when content overflows.
|
|
10
|
+
- `CatalogGraphCard`: Removed `variant` prop.
|
|
11
|
+
- `MembersListCard`: Translation keys `subtitle`, `paginationLabel`, `aggregateMembersToggle.directMembers`, `aggregateMembersToggle.aggregatedMembers`, and `aggregateMembersToggle.ariaLabel` have been removed. The `title` key now includes `{{groupName}}`. New keys added: `cardLabel`, `noSearchResult`, `aggregateMembersToggle.label`.
|
|
12
|
+
- `OwnershipCard`: Translation keys `aggregateRelationsToggle.directRelations`, `aggregateRelationsToggle.aggregatedRelations`, and `aggregateRelationsToggle.ariaLabel` have been removed. New key added: `aggregateRelationsToggle.label`.
|
|
13
|
+
- Removed `MemberComponentClassKey` export, and `root` and `cardContent` from `MembersListCardClassKey`, `card` from `OwnershipCardClassKey`, and `card` from `CatalogGraphCardClassKey`.
|
|
14
|
+
|
|
15
|
+
**Migration:**
|
|
16
|
+
|
|
17
|
+
```diff
|
|
18
|
+
- <EntityOwnershipCard variant="gridItem" />
|
|
19
|
+
+ <EntityOwnershipCard />
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```diff
|
|
23
|
+
- <EntityCatalogGraphCard variant="gridItem" height={400} />
|
|
24
|
+
+ <EntityCatalogGraphCard height={400} />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
- 5fc35bb: Migrated `EntityAboutCard`, `EntityLinksCard`, `EntityLabelsCard`, `GroupProfileCard`, and `UserProfileCard` from MUI/InfoCard to use the new BUI card layout and BUI components where possible.
|
|
28
|
+
|
|
29
|
+
**BREAKING**: Removed `variant` prop from EntityAboutCard, EntityUserProfileCard, EntityGroupProfileCard, EntityLabelsCard, EntityLinksCard. Removed `gridSizes` prop from `AboutField`.
|
|
30
|
+
|
|
31
|
+
**Migration:**
|
|
32
|
+
|
|
33
|
+
Simply delete the obsolete `variant` and `gridSizes` props, e.g:
|
|
34
|
+
|
|
35
|
+
```diff
|
|
36
|
+
- <EntityAboutCard variant="gridItem" />
|
|
37
|
+
+ <EntityAboutCard />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```diff
|
|
41
|
+
- <AboutField label="Owner" gridSizes={{ xs: 12, sm: 6, lg: 4 }} />
|
|
42
|
+
+ <AboutField label="Owner" />
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- 538c985: Updated installation documentation to use feature discovery as the default.
|
|
48
|
+
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
|
|
49
|
+
- Updated dependencies
|
|
50
|
+
- @backstage/plugin-catalog-react@2.1.0
|
|
51
|
+
- @backstage/ui@0.13.0
|
|
52
|
+
- @backstage/core-plugin-api@1.12.4
|
|
53
|
+
- @backstage/core-components@0.18.8
|
|
54
|
+
- @backstage/frontend-plugin-api@0.15.0
|
|
55
|
+
- @backstage/catalog-model@1.7.7
|
|
56
|
+
|
|
3
57
|
## 0.7.0-next.2
|
|
4
58
|
|
|
5
59
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Org Plugin for Backstage
|
|
2
2
|
|
|
3
|
-
> Disclaimer:
|
|
4
|
-
> If you are looking for documentation on the experimental new frontend system support, please go [here](./README-alpha.md).
|
|
5
|
-
|
|
6
3
|
## Features
|
|
7
4
|
|
|
8
5
|
- Show Group Page
|
|
@@ -21,6 +18,33 @@ Here's an example of what the User Profile looks like:
|
|
|
21
18
|
|
|
22
19
|

|
|
23
20
|
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# From your Backstage root directory
|
|
25
|
+
yarn --cwd packages/app add @backstage/plugin-org
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Once installed, the plugin is automatically available in your app through the default feature discovery. For more details and alternative installation methods, see [installing plugins](https://backstage.io/docs/frontend-system/building-apps/installing-plugins).
|
|
29
|
+
|
|
30
|
+
You can enable entity cards on the catalog entity page through configuration:
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
# app-config.yaml
|
|
34
|
+
app:
|
|
35
|
+
extensions:
|
|
36
|
+
- entity-card:org/group-profile
|
|
37
|
+
- entity-card:org/members-list
|
|
38
|
+
- entity-card:org/ownership
|
|
39
|
+
- entity-card:org/user-profile
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
For the full list of available extensions and their configuration options, see the [README-alpha.md](./README-alpha.md).
|
|
43
|
+
|
|
44
|
+
## Old Frontend System
|
|
45
|
+
|
|
46
|
+
If your Backstage app uses the old frontend system, you need to manually wire the plugin into your app as outlined in this section. If you are on the new frontend system, you can skip this.
|
|
47
|
+
|
|
24
48
|
### MyGroupsSidebarItem
|
|
25
49
|
|
|
26
50
|
The MyGroupsSidebarItem provides quick access to the group(s) the logged in user is a member of directly in the sidebar.
|
package/dist/alpha.d.ts
CHANGED
|
@@ -5,34 +5,6 @@ import * as react from 'react';
|
|
|
5
5
|
import * as _backstage_filter_predicates from '@backstage/filter-predicates';
|
|
6
6
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* @alpha
|
|
10
|
-
*/
|
|
11
|
-
declare const orgTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"org", {
|
|
12
|
-
readonly "groupProfileCard.groupNotFound": "Group not found";
|
|
13
|
-
readonly "groupProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
14
|
-
readonly "groupProfileCard.refreshIconButtonTitle": "Schedule entity refresh";
|
|
15
|
-
readonly "groupProfileCard.refreshIconButtonAriaLabel": "Refresh";
|
|
16
|
-
readonly "groupProfileCard.listItemTitle.email": "Email";
|
|
17
|
-
readonly "groupProfileCard.listItemTitle.entityRef": "Entity Ref";
|
|
18
|
-
readonly "groupProfileCard.listItemTitle.parentGroup": "Parent Group";
|
|
19
|
-
readonly "groupProfileCard.listItemTitle.childGroups": "Child Groups";
|
|
20
|
-
readonly "membersListCard.title": "{{groupName}} members";
|
|
21
|
-
readonly "membersListCard.cardLabel": "User page for {{memberName}}";
|
|
22
|
-
readonly "membersListCard.noMembersDescription": "This group has no members.";
|
|
23
|
-
readonly "membersListCard.noSearchResult": "Found no members matching \"{{searchTerm}}\".";
|
|
24
|
-
readonly "membersListCard.aggregateMembersToggle.label": "Include subgroups";
|
|
25
|
-
readonly "ownershipCard.title": "Ownership";
|
|
26
|
-
readonly "ownershipCard.aggregateRelationsToggle.label": "Include indirect ownership";
|
|
27
|
-
readonly "userProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
28
|
-
readonly "userProfileCard.listItemTitle.email": "Email";
|
|
29
|
-
readonly "userProfileCard.listItemTitle.memberOf": "Member of";
|
|
30
|
-
readonly "userProfileCard.userNotFound": "User not found";
|
|
31
|
-
readonly "userProfileCard.moreGroupButtonTitle": "...More ({{number}})";
|
|
32
|
-
readonly "userProfileCard.allGroupDialog.title": "All {{name}}'s groups:";
|
|
33
|
-
readonly "userProfileCard.allGroupDialog.closeButtonTitle": "Close";
|
|
34
|
-
}>;
|
|
35
|
-
|
|
36
8
|
/** @alpha */
|
|
37
9
|
declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{}, {
|
|
38
10
|
catalogIndex: _backstage_core_plugin_api.ExternalRouteRef<undefined, true>;
|
|
@@ -153,4 +125,33 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
153
125
|
}>;
|
|
154
126
|
}>;
|
|
155
127
|
|
|
128
|
+
/**
|
|
129
|
+
* @alpha
|
|
130
|
+
* @deprecated Import from `@backstage/plugin-org` instead.
|
|
131
|
+
*/
|
|
132
|
+
declare const orgTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"org", {
|
|
133
|
+
readonly "groupProfileCard.groupNotFound": "Group not found";
|
|
134
|
+
readonly "groupProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
135
|
+
readonly "groupProfileCard.refreshIconButtonTitle": "Schedule entity refresh";
|
|
136
|
+
readonly "groupProfileCard.refreshIconButtonAriaLabel": "Refresh";
|
|
137
|
+
readonly "groupProfileCard.listItemTitle.email": "Email";
|
|
138
|
+
readonly "groupProfileCard.listItemTitle.entityRef": "Entity Ref";
|
|
139
|
+
readonly "groupProfileCard.listItemTitle.parentGroup": "Parent Group";
|
|
140
|
+
readonly "groupProfileCard.listItemTitle.childGroups": "Child Groups";
|
|
141
|
+
readonly "membersListCard.title": "{{groupName}} members";
|
|
142
|
+
readonly "membersListCard.cardLabel": "User page for {{memberName}}";
|
|
143
|
+
readonly "membersListCard.noMembersDescription": "This group has no members.";
|
|
144
|
+
readonly "membersListCard.noSearchResult": "Found no members matching \"{{searchTerm}}\".";
|
|
145
|
+
readonly "membersListCard.aggregateMembersToggle.label": "Include subgroups";
|
|
146
|
+
readonly "ownershipCard.title": "Ownership";
|
|
147
|
+
readonly "ownershipCard.aggregateRelationsToggle.label": "Include indirect ownership";
|
|
148
|
+
readonly "userProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
149
|
+
readonly "userProfileCard.listItemTitle.email": "Email";
|
|
150
|
+
readonly "userProfileCard.listItemTitle.memberOf": "Member of";
|
|
151
|
+
readonly "userProfileCard.userNotFound": "User not found";
|
|
152
|
+
readonly "userProfileCard.moreGroupButtonTitle": "...More ({{number}})";
|
|
153
|
+
readonly "userProfileCard.allGroupDialog.title": "All {{name}}'s groups:";
|
|
154
|
+
readonly "userProfileCard.allGroupDialog.closeButtonTitle": "Close";
|
|
155
|
+
}>;
|
|
156
|
+
|
|
156
157
|
export { _default as default, orgTranslationRef };
|
package/dist/alpha.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { createFrontendPlugin } from '@backstage/frontend-plugin-api';
|
|
3
3
|
import { catalogIndexRouteRef } from './routes.esm.js';
|
|
4
4
|
import { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';
|
|
5
|
-
|
|
5
|
+
import { orgTranslationRef as orgTranslationRef$1 } from './translation.esm.js';
|
|
6
6
|
|
|
7
7
|
const EntityGroupProfileCard = EntityCardBlueprint.make({
|
|
8
8
|
name: "group-profile",
|
|
@@ -97,6 +97,7 @@ var alpha = createFrontendPlugin({
|
|
|
97
97
|
catalogIndex: catalogIndexRouteRef
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
|
+
const orgTranslationRef = orgTranslationRef$1;
|
|
100
101
|
|
|
101
|
-
export { alpha as default };
|
|
102
|
+
export { alpha as default, orgTranslationRef };
|
|
102
103
|
//# sourceMappingURL=alpha.esm.js.map
|
package/dist/alpha.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFrontendPlugin } from '@backstage/frontend-plugin-api';\nimport { catalogIndexRouteRef } from './routes';\nimport { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';\n\n/** @alpha */\nconst EntityGroupProfileCard = EntityCardBlueprint.make({\n name: 'group-profile',\n params: {\n type: 'info',\n filter: { kind: 'group' },\n loader: async () =>\n import('./components/Cards/Group/GroupProfile/GroupProfileCard').then(\n m => <m.GroupProfileCard />,\n ),\n },\n});\n\n/** @alpha */\nconst EntityMembersListCard = EntityCardBlueprint.makeWithOverrides({\n name: 'members-list',\n config: {\n schema: {\n initialRelationAggregation: z =>\n z.enum(['direct', 'aggregated']).optional(),\n showAggregateMembersToggle: z => z.boolean().optional(),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: { kind: 'group' },\n loader: async () =>\n import('./components/Cards/Group/MembersList/MembersListCard').then(\n m => (\n <m.MembersListCard\n relationAggregation={config.initialRelationAggregation}\n showAggregateMembersToggle={config.showAggregateMembersToggle}\n />\n ),\n ),\n });\n },\n});\n\n/** @alpha */\nconst EntityOwnershipCard = EntityCardBlueprint.makeWithOverrides({\n name: 'ownership',\n config: {\n schema: {\n initialRelationAggregation: z =>\n z.enum(['direct', 'aggregated']).optional(),\n showAggregateMembersToggle: z => z.boolean().optional(),\n ownedKinds: z => z.array(z.string()).optional(),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: { kind: { $in: ['group', 'user'] } },\n loader: async () =>\n import('./components/Cards/OwnershipCard/OwnershipCard').then(m => (\n <m.OwnershipCard\n relationAggregation={config.initialRelationAggregation}\n hideRelationsToggle={\n config.showAggregateMembersToggle === undefined\n ? undefined\n : !config.showAggregateMembersToggle\n }\n entityFilterKind={\n config.ownedKinds ?? ['Component', 'API', 'System', 'Resource']\n }\n />\n )),\n });\n },\n});\n\n/** @alpha */\nconst EntityUserProfileCard = EntityCardBlueprint.makeWithOverrides({\n name: 'user-profile',\n config: {\n schema: {\n maxRelations: z => z.number().optional(),\n hideIcons: z => z.boolean().default(false),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n type: 'info',\n filter: { kind: 'user' },\n loader: async () =>\n import('./components/Cards/User/UserProfileCard/UserProfileCard').then(\n m => (\n <m.UserProfileCard\n maxRelations={config.maxRelations}\n hideIcons={config.hideIcons}\n />\n ),\n ),\n });\n },\n});\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'org',\n info: { packageJson: () => import('../package.json') },\n extensions: [\n EntityGroupProfileCard,\n EntityMembersListCard,\n EntityOwnershipCard,\n EntityUserProfileCard,\n ],\n externalRoutes: {\n catalogIndex: catalogIndexRouteRef,\n },\n});\n\
|
|
1
|
+
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFrontendPlugin } from '@backstage/frontend-plugin-api';\nimport { catalogIndexRouteRef } from './routes';\nimport { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha';\n\n/** @alpha */\nconst EntityGroupProfileCard = EntityCardBlueprint.make({\n name: 'group-profile',\n params: {\n type: 'info',\n filter: { kind: 'group' },\n loader: async () =>\n import('./components/Cards/Group/GroupProfile/GroupProfileCard').then(\n m => <m.GroupProfileCard />,\n ),\n },\n});\n\n/** @alpha */\nconst EntityMembersListCard = EntityCardBlueprint.makeWithOverrides({\n name: 'members-list',\n config: {\n schema: {\n initialRelationAggregation: z =>\n z.enum(['direct', 'aggregated']).optional(),\n showAggregateMembersToggle: z => z.boolean().optional(),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: { kind: 'group' },\n loader: async () =>\n import('./components/Cards/Group/MembersList/MembersListCard').then(\n m => (\n <m.MembersListCard\n relationAggregation={config.initialRelationAggregation}\n showAggregateMembersToggle={config.showAggregateMembersToggle}\n />\n ),\n ),\n });\n },\n});\n\n/** @alpha */\nconst EntityOwnershipCard = EntityCardBlueprint.makeWithOverrides({\n name: 'ownership',\n config: {\n schema: {\n initialRelationAggregation: z =>\n z.enum(['direct', 'aggregated']).optional(),\n showAggregateMembersToggle: z => z.boolean().optional(),\n ownedKinds: z => z.array(z.string()).optional(),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n filter: { kind: { $in: ['group', 'user'] } },\n loader: async () =>\n import('./components/Cards/OwnershipCard/OwnershipCard').then(m => (\n <m.OwnershipCard\n relationAggregation={config.initialRelationAggregation}\n hideRelationsToggle={\n config.showAggregateMembersToggle === undefined\n ? undefined\n : !config.showAggregateMembersToggle\n }\n entityFilterKind={\n config.ownedKinds ?? ['Component', 'API', 'System', 'Resource']\n }\n />\n )),\n });\n },\n});\n\n/** @alpha */\nconst EntityUserProfileCard = EntityCardBlueprint.makeWithOverrides({\n name: 'user-profile',\n config: {\n schema: {\n maxRelations: z => z.number().optional(),\n hideIcons: z => z.boolean().default(false),\n },\n },\n factory(originalFactory, { config }) {\n return originalFactory({\n type: 'info',\n filter: { kind: 'user' },\n loader: async () =>\n import('./components/Cards/User/UserProfileCard/UserProfileCard').then(\n m => (\n <m.UserProfileCard\n maxRelations={config.maxRelations}\n hideIcons={config.hideIcons}\n />\n ),\n ),\n });\n },\n});\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'org',\n info: { packageJson: () => import('../package.json') },\n extensions: [\n EntityGroupProfileCard,\n EntityMembersListCard,\n EntityOwnershipCard,\n EntityUserProfileCard,\n ],\n externalRoutes: {\n catalogIndex: catalogIndexRouteRef,\n },\n});\n\nimport { orgTranslationRef as _orgTranslationRef } from './translation';\n\n/**\n * @alpha\n * @deprecated Import from `@backstage/plugin-org` instead.\n */\nexport const orgTranslationRef = _orgTranslationRef;\n"],"names":["_orgTranslationRef"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
3
3
|
import { IconComponent } from '@backstage/core-plugin-api';
|
|
4
|
+
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
4
5
|
|
|
5
6
|
/** @public */
|
|
6
7
|
type EntityRelationAggregation = 'direct' | 'aggregated';
|
|
@@ -91,5 +92,33 @@ declare const EntityUserProfileCard: (props: {
|
|
|
91
92
|
hideIcons?: boolean;
|
|
92
93
|
}) => react_jsx_runtime.JSX.Element;
|
|
93
94
|
|
|
94
|
-
|
|
95
|
+
/**
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
declare const orgTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"org", {
|
|
99
|
+
readonly "groupProfileCard.groupNotFound": "Group not found";
|
|
100
|
+
readonly "groupProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
101
|
+
readonly "groupProfileCard.refreshIconButtonTitle": "Schedule entity refresh";
|
|
102
|
+
readonly "groupProfileCard.refreshIconButtonAriaLabel": "Refresh";
|
|
103
|
+
readonly "groupProfileCard.listItemTitle.email": "Email";
|
|
104
|
+
readonly "groupProfileCard.listItemTitle.entityRef": "Entity Ref";
|
|
105
|
+
readonly "groupProfileCard.listItemTitle.parentGroup": "Parent Group";
|
|
106
|
+
readonly "groupProfileCard.listItemTitle.childGroups": "Child Groups";
|
|
107
|
+
readonly "membersListCard.title": "{{groupName}} members";
|
|
108
|
+
readonly "membersListCard.cardLabel": "User page for {{memberName}}";
|
|
109
|
+
readonly "membersListCard.noMembersDescription": "This group has no members.";
|
|
110
|
+
readonly "membersListCard.noSearchResult": "Found no members matching \"{{searchTerm}}\".";
|
|
111
|
+
readonly "membersListCard.aggregateMembersToggle.label": "Include subgroups";
|
|
112
|
+
readonly "ownershipCard.title": "Ownership";
|
|
113
|
+
readonly "ownershipCard.aggregateRelationsToggle.label": "Include indirect ownership";
|
|
114
|
+
readonly "userProfileCard.editIconButtonTitle": "Edit Metadata";
|
|
115
|
+
readonly "userProfileCard.listItemTitle.email": "Email";
|
|
116
|
+
readonly "userProfileCard.listItemTitle.memberOf": "Member of";
|
|
117
|
+
readonly "userProfileCard.userNotFound": "User not found";
|
|
118
|
+
readonly "userProfileCard.moreGroupButtonTitle": "...More ({{number}})";
|
|
119
|
+
readonly "userProfileCard.allGroupDialog.title": "All {{name}}'s groups:";
|
|
120
|
+
readonly "userProfileCard.allGroupDialog.closeButtonTitle": "Close";
|
|
121
|
+
}>;
|
|
122
|
+
|
|
123
|
+
export { EntityGroupProfileCard, EntityMembersListCard, EntityOwnershipCard, EntityUserProfileCard, GroupProfileCard, MembersListCard, MyGroupsSidebarItem, OwnershipCard, UserProfileCard, orgPlugin, orgTranslationRef, orgPlugin as plugin };
|
|
95
124
|
export type { ComponentsGridClassKey, EntityRelationAggregation, MembersListCardClassKey, OwnershipCardClassKey, UserProfileCardClassKey };
|
package/dist/index.esm.js
CHANGED
|
@@ -4,4 +4,5 @@ export { GroupProfileCard } from './components/Cards/Group/GroupProfile/GroupPro
|
|
|
4
4
|
export { UserProfileCard } from './components/Cards/User/UserProfileCard/UserProfileCard.esm.js';
|
|
5
5
|
export { OwnershipCard } from './components/Cards/OwnershipCard/OwnershipCard.esm.js';
|
|
6
6
|
export { MyGroupsSidebarItem } from './components/MyGroupsSidebarItem/MyGroupsSidebarItem.esm.js';
|
|
7
|
+
export { orgTranslationRef } from './translation.esm.js';
|
|
7
8
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/package.json.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/frontend-plugin-api';\n\n/**\n * @
|
|
1
|
+
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTranslationRef } from '@backstage/frontend-plugin-api';\n\n/**\n * @public\n */\nexport const orgTranslationRef = createTranslationRef({\n id: 'org',\n messages: {\n groupProfileCard: {\n groupNotFound: 'Group not found',\n editIconButtonTitle: 'Edit Metadata',\n refreshIconButtonTitle: 'Schedule entity refresh',\n refreshIconButtonAriaLabel: 'Refresh',\n listItemTitle: {\n entityRef: 'Entity Ref',\n email: 'Email',\n parentGroup: 'Parent Group',\n childGroups: 'Child Groups',\n },\n },\n membersListCard: {\n cardLabel: 'User page for {{memberName}}',\n title: '{{groupName}} members',\n noMembersDescription: 'This group has no members.',\n noSearchResult: 'Found no members matching \"{{searchTerm}}\".',\n aggregateMembersToggle: {\n label: 'Include subgroups',\n },\n },\n ownershipCard: {\n title: 'Ownership',\n aggregateRelationsToggle: {\n label: 'Include indirect ownership',\n },\n },\n userProfileCard: {\n userNotFound: 'User not found',\n editIconButtonTitle: 'Edit Metadata',\n listItemTitle: {\n email: 'Email',\n memberOf: 'Member of',\n },\n moreGroupButtonTitle: '...More ({{number}})',\n allGroupDialog: {\n title: \"All {{name}}'s groups:\",\n closeButtonTitle: 'Close',\n },\n },\n },\n});\n"],"names":[],"mappings":";;AAoBO,MAAM,oBAAoB,oBAAA,CAAqB;AAAA,EACpD,EAAA,EAAI,KAAA;AAAA,EACJ,QAAA,EAAU;AAAA,IACR,gBAAA,EAAkB;AAAA,MAChB,aAAA,EAAe,iBAAA;AAAA,MACf,mBAAA,EAAqB,eAAA;AAAA,MACrB,sBAAA,EAAwB,yBAAA;AAAA,MACxB,0BAAA,EAA4B,SAAA;AAAA,MAC5B,aAAA,EAAe;AAAA,QACb,SAAA,EAAW,YAAA;AAAA,QACX,KAAA,EAAO,OAAA;AAAA,QACP,WAAA,EAAa,cAAA;AAAA,QACb,WAAA,EAAa;AAAA;AACf,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW,8BAAA;AAAA,MACX,KAAA,EAAO,uBAAA;AAAA,MACP,oBAAA,EAAsB,4BAAA;AAAA,MACtB,cAAA,EAAgB,6CAAA;AAAA,MAChB,sBAAA,EAAwB;AAAA,QACtB,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAO,WAAA;AAAA,MACP,wBAAA,EAA0B;AAAA,QACxB,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,YAAA,EAAc,gBAAA;AAAA,MACd,mBAAA,EAAqB,eAAA;AAAA,MACrB,aAAA,EAAe;AAAA,QACb,KAAA,EAAO,OAAA;AAAA,QACP,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,oBAAA,EAAsB,sBAAA;AAAA,MACtB,cAAA,EAAgB;AAAA,QACd,KAAA,EAAO,wBAAA;AAAA,QACP,gBAAA,EAAkB;AAAA;AACpB;AACF;AAEJ,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-org",
|
|
3
|
-
"version": "0.7.0
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "A Backstage plugin that helps you create entity pages for your organization",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin",
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"test": "backstage-cli package test"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@backstage/catalog-model": "1.7.
|
|
67
|
-
"@backstage/core-components": "0.18.8
|
|
68
|
-
"@backstage/core-plugin-api": "1.12.4
|
|
69
|
-
"@backstage/frontend-plugin-api": "0.15.0
|
|
70
|
-
"@backstage/plugin-catalog-common": "1.1.8",
|
|
71
|
-
"@backstage/plugin-catalog-react": "2.1.0
|
|
72
|
-
"@backstage/ui": "0.13.0
|
|
66
|
+
"@backstage/catalog-model": "^1.7.7",
|
|
67
|
+
"@backstage/core-components": "^0.18.8",
|
|
68
|
+
"@backstage/core-plugin-api": "^1.12.4",
|
|
69
|
+
"@backstage/frontend-plugin-api": "^0.15.0",
|
|
70
|
+
"@backstage/plugin-catalog-common": "^1.1.8",
|
|
71
|
+
"@backstage/plugin-catalog-react": "^2.1.0",
|
|
72
|
+
"@backstage/ui": "^0.13.0",
|
|
73
73
|
"@material-ui/core": "^4.12.2",
|
|
74
74
|
"@material-ui/icons": "^4.9.1",
|
|
75
75
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
"react-use": "^17.2.4"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@backstage/catalog-client": "1.14.0
|
|
84
|
-
"@backstage/cli": "0.36.0
|
|
85
|
-
"@backstage/core-app-api": "1.19.6
|
|
86
|
-
"@backstage/dev-utils": "1.1.21
|
|
87
|
-
"@backstage/frontend-test-utils": "0.5.1
|
|
88
|
-
"@backstage/plugin-catalog": "2.0.0
|
|
89
|
-
"@backstage/plugin-permission-common": "0.9.
|
|
90
|
-
"@backstage/plugin-permission-react": "0.4.41
|
|
91
|
-
"@backstage/test-utils": "1.7.16
|
|
92
|
-
"@backstage/types": "1.2.2",
|
|
83
|
+
"@backstage/catalog-client": "^1.14.0",
|
|
84
|
+
"@backstage/cli": "^0.36.0",
|
|
85
|
+
"@backstage/core-app-api": "^1.19.6",
|
|
86
|
+
"@backstage/dev-utils": "^1.1.21",
|
|
87
|
+
"@backstage/frontend-test-utils": "^0.5.1",
|
|
88
|
+
"@backstage/plugin-catalog": "^2.0.0",
|
|
89
|
+
"@backstage/plugin-permission-common": "^0.9.7",
|
|
90
|
+
"@backstage/plugin-permission-react": "^0.4.41",
|
|
91
|
+
"@backstage/test-utils": "^1.7.16",
|
|
92
|
+
"@backstage/types": "^1.2.2",
|
|
93
93
|
"@testing-library/dom": "^10.0.0",
|
|
94
94
|
"@testing-library/jest-dom": "^6.0.0",
|
|
95
95
|
"@testing-library/react": "^16.0.0",
|