@drodil/backstage-plugin-qeta 2.15.0 → 3.0.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/dist/components/ArticlePage/ArticlePage.esm.js +45 -0
- package/dist/components/ArticlePage/ArticlePage.esm.js.map +1 -0
- package/dist/components/ArticlesPage/ArticlesPage.esm.js +34 -0
- package/dist/components/ArticlesPage/ArticlesPage.esm.js.map +1 -0
- package/dist/components/AskPage/AskPage.esm.js +4 -4
- package/dist/components/AskPage/AskPage.esm.js.map +1 -1
- package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js +20 -0
- package/dist/components/CollectionCreatePage/CollectionCreatePage.esm.js.map +1 -0
- package/dist/components/CollectionPage/CollectionPage.esm.js +34 -0
- package/dist/components/CollectionPage/CollectionPage.esm.js.map +1 -0
- package/dist/components/CollectionsPage/CollectionsPage.esm.js +11 -0
- package/dist/components/CollectionsPage/CollectionsPage.esm.js.map +1 -0
- package/dist/components/EntityPage/EntityPage.esm.js +75 -0
- package/dist/components/EntityPage/EntityPage.esm.js.map +1 -0
- package/dist/components/FavoritePage/FavoritePage.esm.js +14 -22
- package/dist/components/FavoritePage/FavoritePage.esm.js.map +1 -1
- package/dist/components/HomePage/HomePage.esm.js +7 -10
- package/dist/components/HomePage/HomePage.esm.js.map +1 -1
- package/dist/components/LeftMenu/LeftMenu.esm.js +47 -16
- package/dist/components/LeftMenu/LeftMenu.esm.js.map +1 -1
- package/dist/components/LeftMenu/LeftMenuButton.esm.js +75 -0
- package/dist/components/LeftMenu/LeftMenuButton.esm.js.map +1 -0
- package/dist/components/QetaPage/QetaPage.esm.js +51 -9
- package/dist/components/QetaPage/QetaPage.esm.js.map +1 -1
- package/dist/components/QuestionPage/QuestionPage.esm.js +7 -13
- package/dist/components/QuestionPage/QuestionPage.esm.js.map +1 -1
- package/dist/components/QuestionTableCard/Content.esm.js +1 -1
- package/dist/components/QuestionTableCard/Content.esm.js.map +1 -1
- package/dist/components/QuestionTableCard/index.esm.js +0 -1
- package/dist/components/QuestionTableCard/index.esm.js.map +1 -1
- package/dist/components/QuestionsPage/QuestionsPage.esm.js +13 -15
- package/dist/components/QuestionsPage/QuestionsPage.esm.js.map +1 -1
- package/dist/components/Statistics/GlobalStatsContent.esm.js +1 -3
- package/dist/components/Statistics/GlobalStatsContent.esm.js.map +1 -1
- package/dist/components/Statistics/StatisticsPage.esm.js +2 -3
- package/dist/components/Statistics/StatisticsPage.esm.js.map +1 -1
- package/dist/components/TagPage/TagPage.esm.js +32 -25
- package/dist/components/TagPage/TagPage.esm.js.map +1 -1
- package/dist/components/UserPage/UserPage.esm.js +7 -16
- package/dist/components/UserPage/UserPage.esm.js.map +1 -1
- package/dist/components/UserPage/UserStatsContent.esm.js +1 -3
- package/dist/components/UserPage/UserStatsContent.esm.js.map +1 -1
- package/dist/components/UsersPage/UsersPage.esm.js +11 -0
- package/dist/components/UsersPage/UsersPage.esm.js.map +1 -0
- package/dist/components/WritePage/WritePage.esm.js +40 -0
- package/dist/components/WritePage/WritePage.esm.js.map +1 -0
- package/dist/index.d.ts +8 -422
- package/dist/index.esm.js +0 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/plugin.esm.js +2 -2
- package/dist/plugin.esm.js.map +1 -1
- package/package.json +4 -24
- package/dist/api/QetaClient.esm.js +0 -513
- package/dist/api/QetaClient.esm.js.map +0 -1
- package/dist/components/AnswersContainer/AnswerList.esm.js +0 -100
- package/dist/components/AnswersContainer/AnswerList.esm.js.map +0 -1
- package/dist/components/AnswersContainer/AnswerListItem.esm.js +0 -90
- package/dist/components/AnswersContainer/AnswerListItem.esm.js.map +0 -1
- package/dist/components/AnswersContainer/AnswersContainer.esm.js +0 -210
- package/dist/components/AnswersContainer/AnswersContainer.esm.js.map +0 -1
- package/dist/components/AskAnonymouslyCheckbox/AskAnonymouslyCheckbox.esm.js +0 -34
- package/dist/components/AskAnonymouslyCheckbox/AskAnonymouslyCheckbox.esm.js.map +0 -1
- package/dist/components/AskForm/AskForm.esm.js +0 -245
- package/dist/components/AskForm/AskForm.esm.js.map +0 -1
- package/dist/components/AskForm/EntitiesInput.esm.js +0 -100
- package/dist/components/AskForm/EntitiesInput.esm.js.map +0 -1
- package/dist/components/AskForm/TagInput.esm.js +0 -81
- package/dist/components/AskForm/TagInput.esm.js.map +0 -1
- package/dist/components/Buttons/AskQuestionButton.esm.js +0 -45
- package/dist/components/Buttons/AskQuestionButton.esm.js.map +0 -1
- package/dist/components/Buttons/BackToQuestionsButton.esm.js +0 -39
- package/dist/components/Buttons/BackToQuestionsButton.esm.js.map +0 -1
- package/dist/components/Buttons/EntityFollowButton.esm.js +0 -34
- package/dist/components/Buttons/EntityFollowButton.esm.js.map +0 -1
- package/dist/components/Buttons/TagFollowButton.esm.js +0 -33
- package/dist/components/Buttons/TagFollowButton.esm.js.map +0 -1
- package/dist/components/CommentSection/CommentList.esm.js +0 -47
- package/dist/components/CommentSection/CommentList.esm.js.map +0 -1
- package/dist/components/CommentSection/CommentSection.esm.js +0 -126
- package/dist/components/CommentSection/CommentSection.esm.js.map +0 -1
- package/dist/components/DeleteModal/DeleteModal.esm.js +0 -78
- package/dist/components/DeleteModal/DeleteModal.esm.js.map +0 -1
- package/dist/components/HomePageCards/ImpactCard.esm.js +0 -22
- package/dist/components/HomePageCards/ImpactCard.esm.js.map +0 -1
- package/dist/components/HomePageCards/QuestionsCard.esm.js +0 -21
- package/dist/components/HomePageCards/QuestionsCard.esm.js.map +0 -1
- package/dist/components/Links/Links.esm.js +0 -33
- package/dist/components/Links/Links.esm.js.map +0 -1
- package/dist/components/MarkdownEditor/MarkdownEditor.esm.js +0 -78
- package/dist/components/MarkdownEditor/MarkdownEditor.esm.js.map +0 -1
- package/dist/components/MarkdownRenderer/MarkdownRenderer.esm.js +0 -37
- package/dist/components/MarkdownRenderer/MarkdownRenderer.esm.js.map +0 -1
- package/dist/components/QetaPage/FollowedEntitiesList.esm.js +0 -43
- package/dist/components/QetaPage/FollowedEntitiesList.esm.js.map +0 -1
- package/dist/components/QetaPage/FollowedTagsList.esm.js +0 -56
- package/dist/components/QetaPage/FollowedTagsList.esm.js.map +0 -1
- package/dist/components/QuestionHighlightList/QuestionHighlightList.esm.js +0 -64
- package/dist/components/QuestionHighlightList/QuestionHighlightList.esm.js.map +0 -1
- package/dist/components/QuestionPage/AnswerCard.esm.js +0 -113
- package/dist/components/QuestionPage/AnswerCard.esm.js.map +0 -1
- package/dist/components/QuestionPage/AnswerForm.esm.js +0 -153
- package/dist/components/QuestionPage/AnswerForm.esm.js.map +0 -1
- package/dist/components/QuestionPage/AuthorBox.esm.js +0 -25
- package/dist/components/QuestionPage/AuthorBox.esm.js.map +0 -1
- package/dist/components/QuestionPage/EntityChip.esm.js +0 -27
- package/dist/components/QuestionPage/EntityChip.esm.js.map +0 -1
- package/dist/components/QuestionPage/FavoriteButton.esm.js +0 -45
- package/dist/components/QuestionPage/FavoriteButton.esm.js.map +0 -1
- package/dist/components/QuestionPage/LinkButton.esm.js +0 -28
- package/dist/components/QuestionPage/LinkButton.esm.js.map +0 -1
- package/dist/components/QuestionPage/QuestionCard.esm.js +0 -107
- package/dist/components/QuestionPage/QuestionCard.esm.js.map +0 -1
- package/dist/components/QuestionPage/TagsAndEntities.esm.js +0 -44
- package/dist/components/QuestionPage/TagsAndEntities.esm.js.map +0 -1
- package/dist/components/QuestionPage/VoteButtons.esm.js +0 -153
- package/dist/components/QuestionPage/VoteButtons.esm.js.map +0 -1
- package/dist/components/QuestionTableCard/QuestionTableRow.esm.js +0 -21
- package/dist/components/QuestionTableCard/QuestionTableRow.esm.js.map +0 -1
- package/dist/components/QuestionTableCard/QuestionsTable.esm.js +0 -130
- package/dist/components/QuestionTableCard/QuestionsTable.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/DateRangeFilter.esm.js +0 -110
- package/dist/components/QuestionsContainer/DateRangeFilter.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/FilterPanel.esm.js +0 -237
- package/dist/components/QuestionsContainer/FilterPanel.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/NoQuestionsCard.esm.js +0 -47
- package/dist/components/QuestionsContainer/NoQuestionsCard.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/QuestionList.esm.js +0 -103
- package/dist/components/QuestionsContainer/QuestionList.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/QuestionListItem.esm.js +0 -123
- package/dist/components/QuestionsContainer/QuestionListItem.esm.js.map +0 -1
- package/dist/components/QuestionsContainer/QuestionsContainer.esm.js +0 -243
- package/dist/components/QuestionsContainer/QuestionsContainer.esm.js.map +0 -1
- package/dist/components/RelativeTimeWithTooltip/RelativeTimeWithTooltip.esm.js +0 -22
- package/dist/components/RelativeTimeWithTooltip/RelativeTimeWithTooltip.esm.js.map +0 -1
- package/dist/components/Statistics/StatsChart.esm.js +0 -238
- package/dist/components/Statistics/StatsChart.esm.js.map +0 -1
- package/dist/components/Statistics/SummaryStatsGrid.esm.js +0 -47
- package/dist/components/Statistics/SummaryStatsGrid.esm.js.map +0 -1
- package/dist/components/Statistics/TopRankingUsersCard.esm.js +0 -161
- package/dist/components/Statistics/TopRankingUsersCard.esm.js.map +0 -1
- package/dist/components/Statistics/TrophyIcon.esm.js +0 -19
- package/dist/components/Statistics/TrophyIcon.esm.js.map +0 -1
- package/dist/components/Statistics/styles.esm.js +0 -23
- package/dist/components/Statistics/styles.esm.js.map +0 -1
- package/dist/components/TagPage/TagsContainer.esm.js +0 -57
- package/dist/components/TagPage/TagsContainer.esm.js.map +0 -1
- package/dist/locale/fi.esm.js +0 -195
- package/dist/locale/fi.esm.js.map +0 -1
- package/dist/translation.esm.js +0 -359
- package/dist/translation.esm.js.map +0 -1
- package/dist/utils/hooks.esm.js +0 -430
- package/dist/utils/hooks.esm.js.map +0 -1
- package/dist/utils/utils.esm.js +0 -72
- package/dist/utils/utils.esm.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import * as _backstage_plugin_home_react from '@backstage/plugin-home-react';
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import react__default from 'react';
|
|
4
4
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
5
|
-
import { FetchApi, DiscoveryApi } from '@backstage/core-plugin-api';
|
|
6
|
-
import { AnswersResponse, AnswerResponse, QuestionResponse, StatisticResponse, QuestionsResponse, QuestionRequest, TagResponse, EntityResponse, StatisticsRequestParameters, AnswerRequest, AnswerResponseBody, AttachmentResponseBody, UserTagsResponse, UserEntitiesResponse, ImpactResponse, StatisticsResponse, Question, Answer } from '@drodil/backstage-plugin-qeta-common';
|
|
7
|
-
import { SvgIconProps } from '@material-ui/core';
|
|
8
|
-
import * as _backstage_core_plugin_api_alpha from '@backstage/core-plugin-api/alpha';
|
|
9
5
|
|
|
10
6
|
declare const qetaPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
11
7
|
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
@@ -13,433 +9,23 @@ declare const qetaPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
|
13
9
|
declare const QetaPage: (props?: {
|
|
14
10
|
title?: string;
|
|
15
11
|
subtitle?: string;
|
|
16
|
-
headerElements?:
|
|
12
|
+
headerElements?: react.ReactNode[];
|
|
17
13
|
themeId?: string;
|
|
18
14
|
headerTooltip?: string;
|
|
19
15
|
headerType?: string;
|
|
20
16
|
headerTypeLink?: string;
|
|
21
|
-
introElement?:
|
|
22
|
-
}) =>
|
|
17
|
+
introElement?: react.ReactNode;
|
|
18
|
+
}) => react.JSX.Element;
|
|
23
19
|
declare const QuestionTableCard: (props: _backstage_plugin_home_react.CardExtensionProps<{
|
|
24
20
|
rowsPerPage?: number;
|
|
25
21
|
quickFilter?: string;
|
|
26
22
|
}>) => React.JSX.Element;
|
|
27
23
|
|
|
28
|
-
interface QuestionsContainerProps {
|
|
29
|
-
tags?: string[];
|
|
30
|
-
author?: string;
|
|
31
|
-
entity?: string;
|
|
32
|
-
showFilters?: boolean;
|
|
33
|
-
showTitle?: boolean;
|
|
34
|
-
title?: string;
|
|
35
|
-
favorite?: boolean;
|
|
36
|
-
showAskButton?: boolean;
|
|
37
|
-
showNoQuestionsBtn?: boolean;
|
|
38
|
-
}
|
|
39
|
-
declare const QuestionsContainer: (props: QuestionsContainerProps) => React__default.JSX.Element;
|
|
40
|
-
|
|
41
|
-
declare const AnswerList: (props: {
|
|
42
|
-
loading: boolean;
|
|
43
|
-
error: any;
|
|
44
|
-
response?: AnswersResponse;
|
|
45
|
-
onPageChange: (page: number) => void;
|
|
46
|
-
onPageSizeChange: (size: number) => void;
|
|
47
|
-
page: number;
|
|
48
|
-
pageSize: number;
|
|
49
|
-
entity?: string;
|
|
50
|
-
tags?: string[];
|
|
51
|
-
entityPage?: boolean;
|
|
52
|
-
}) => React__default.JSX.Element;
|
|
53
|
-
|
|
54
|
-
interface AnswersContainerProps {
|
|
55
|
-
tags?: string[];
|
|
56
|
-
author?: string;
|
|
57
|
-
entity?: string;
|
|
58
|
-
showFilters?: boolean;
|
|
59
|
-
showTitle?: boolean;
|
|
60
|
-
title?: string;
|
|
61
|
-
}
|
|
62
|
-
declare const AnswersContainer: (props: AnswersContainerProps) => React__default.JSX.Element;
|
|
63
|
-
|
|
64
|
-
interface AnswerListItemProps {
|
|
65
|
-
answer: AnswerResponse;
|
|
66
|
-
entity?: string;
|
|
67
|
-
}
|
|
68
|
-
declare const AnswerListItem: (props: AnswerListItemProps) => React__default.JSX.Element;
|
|
69
|
-
|
|
70
|
-
type AskFormProps = {
|
|
71
|
-
id?: string;
|
|
72
|
-
entity?: string;
|
|
73
|
-
tags?: string[];
|
|
74
|
-
onPost?: (question: QuestionResponse) => void;
|
|
75
|
-
entityPage?: boolean;
|
|
76
|
-
};
|
|
77
|
-
declare const AskForm: (props: AskFormProps) => React__default.JSX.Element;
|
|
78
|
-
|
|
79
24
|
declare const Content: (props: {
|
|
80
25
|
rowsPerPage?: number;
|
|
81
26
|
quickFilter?: "latest" | "favorites" | "most_viewed";
|
|
82
|
-
}) =>
|
|
83
|
-
|
|
84
|
-
type QuickFilterType = 'latest' | 'favorites' | 'most_viewed';
|
|
85
|
-
declare const QuestionsTable: (props: {
|
|
86
|
-
hideTitle?: boolean;
|
|
87
|
-
rowsPerPage?: number;
|
|
88
|
-
quickFilter?: QuickFilterType;
|
|
89
|
-
}) => React__default.JSX.Element;
|
|
90
|
-
|
|
91
|
-
type RankingIcon = {
|
|
92
|
-
iconsByRanking: Map<number, ReactNode>;
|
|
93
|
-
userRankingIcon: ReactNode;
|
|
94
|
-
};
|
|
95
|
-
declare const RankingRow: (props: {
|
|
96
|
-
userRef?: string;
|
|
97
|
-
total: number;
|
|
98
|
-
position: number;
|
|
99
|
-
rankingIcon?: RankingIcon;
|
|
100
|
-
unit: string;
|
|
101
|
-
}) => React__default.JSX.Element;
|
|
102
|
-
declare const RankingCard: (props: {
|
|
103
|
-
limit?: number;
|
|
104
|
-
description: string;
|
|
105
|
-
statistic?: StatisticResponse;
|
|
106
|
-
unit: string;
|
|
107
|
-
}) => React__default.JSX.Element;
|
|
108
|
-
declare const TopRankingUsers: (props: {
|
|
109
|
-
title?: string;
|
|
110
|
-
hideTitle?: boolean;
|
|
111
|
-
limit?: number;
|
|
112
|
-
}) => React__default.JSX.Element;
|
|
113
|
-
|
|
114
|
-
declare const TrophyIcon: (props: SvgIconProps) => React__default.JSX.Element;
|
|
115
|
-
|
|
116
|
-
declare const StatisticsPage: () => React__default.JSX.Element;
|
|
117
|
-
|
|
118
|
-
type GetQuestionsOptions = {
|
|
119
|
-
noCorrectAnswer?: string;
|
|
120
|
-
offset?: number;
|
|
121
|
-
includeEntities?: boolean;
|
|
122
|
-
author?: string;
|
|
123
|
-
orderBy?: string;
|
|
124
|
-
tags?: string[];
|
|
125
|
-
noVotes?: string;
|
|
126
|
-
noAnswers?: string;
|
|
127
|
-
searchQuery?: string;
|
|
128
|
-
random?: string;
|
|
129
|
-
limit?: number;
|
|
130
|
-
favorite?: boolean;
|
|
131
|
-
entity?: string;
|
|
132
|
-
order?: string;
|
|
133
|
-
fromDate?: string;
|
|
134
|
-
toDate?: string;
|
|
135
|
-
};
|
|
136
|
-
type GetAnswersOptions = {
|
|
137
|
-
noCorrectAnswer?: string;
|
|
138
|
-
noVotes?: string;
|
|
139
|
-
offset?: number;
|
|
140
|
-
author?: string;
|
|
141
|
-
orderBy?: string;
|
|
142
|
-
searchQuery?: string;
|
|
143
|
-
limit?: number;
|
|
144
|
-
order?: string;
|
|
145
|
-
fromDate?: string;
|
|
146
|
-
toDate?: string;
|
|
147
|
-
};
|
|
148
|
-
interface QetaApi {
|
|
149
|
-
getQuestions(options: GetQuestionsOptions): Promise<QuestionsResponse>;
|
|
150
|
-
getQuestionsList(type: string, options?: GetQuestionsOptions): Promise<QuestionsResponse>;
|
|
151
|
-
postQuestion(question: QuestionRequest): Promise<QuestionResponse>;
|
|
152
|
-
commentQuestion(id: number, content: string): Promise<QuestionResponse>;
|
|
153
|
-
deleteQuestionComment(questionId: number, id: number): Promise<QuestionResponse>;
|
|
154
|
-
getQuestion(id: string | undefined): Promise<QuestionResponse>;
|
|
155
|
-
getTags(): Promise<TagResponse[]>;
|
|
156
|
-
getEntities(): Promise<EntityResponse[]>;
|
|
157
|
-
getMostUpvotedQuestions({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
158
|
-
getMostUpvotedAnswers({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
159
|
-
getMostUpvotedCorrectAnswers({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
160
|
-
getMostQuestions({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
161
|
-
getMostAnswers({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
162
|
-
getTopStatisticsHomepage({ author, options, }: StatisticsRequestParameters): Promise<StatisticResponse[]>;
|
|
163
|
-
voteQuestionUp(id: number): Promise<QuestionResponse>;
|
|
164
|
-
voteQuestionDown(id: number): Promise<QuestionResponse>;
|
|
165
|
-
voteAnswerUp(questionId: number, id: number): Promise<AnswerResponse>;
|
|
166
|
-
voteAnswerDown(questionId: number, id: number): Promise<AnswerResponse>;
|
|
167
|
-
markAnswerCorrect(questionId: number, id: number): Promise<boolean>;
|
|
168
|
-
markAnswerIncorrect(questionId: number, id: number): Promise<boolean>;
|
|
169
|
-
favoriteQuestion(id: number): Promise<QuestionResponse>;
|
|
170
|
-
unfavoriteQuestion(id: number): Promise<QuestionResponse>;
|
|
171
|
-
postAnswer(answer: AnswerRequest): Promise<AnswerResponseBody>;
|
|
172
|
-
postAttachment(file: Blob): Promise<AttachmentResponseBody>;
|
|
173
|
-
commentAnswer(questionId: number, id: number, content: string): Promise<AnswerResponse>;
|
|
174
|
-
deleteAnswerComment(questionId: number, answerId: number, id: number): Promise<AnswerResponse>;
|
|
175
|
-
deleteQuestion(questionId: number): Promise<boolean>;
|
|
176
|
-
deleteAnswer(questionId: number, id: number): Promise<boolean>;
|
|
177
|
-
updateQuestion(id: string, question: QuestionRequest): Promise<QuestionResponse>;
|
|
178
|
-
updateAnswer(id: number, answer: AnswerRequest): Promise<AnswerResponseBody>;
|
|
179
|
-
getAnswers(options: GetAnswersOptions): Promise<AnswersResponse>;
|
|
180
|
-
getAnswer(questionId: string | number | undefined, id: string | number | undefined): Promise<AnswerResponseBody>;
|
|
181
|
-
getFollowedTags(): Promise<UserTagsResponse>;
|
|
182
|
-
followTag(tag: string): Promise<boolean>;
|
|
183
|
-
unfollowTag(tag: string): Promise<boolean>;
|
|
184
|
-
getFollowedEntities(): Promise<UserEntitiesResponse>;
|
|
185
|
-
followEntity(entityRef: string): Promise<boolean>;
|
|
186
|
-
unfollowEntity(entityRef: string): Promise<boolean>;
|
|
187
|
-
getUserImpact(): Promise<ImpactResponse>;
|
|
188
|
-
getGlobalStats(): Promise<StatisticsResponse>;
|
|
189
|
-
getUserStats(userRef: string): Promise<StatisticsResponse>;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
declare const qetaApiRef: _backstage_core_plugin_api.ApiRef<QetaApi>;
|
|
193
|
-
declare class QetaClient implements QetaApi {
|
|
194
|
-
private readonly fetchApi;
|
|
195
|
-
private readonly discoveryApi;
|
|
196
|
-
constructor(options: {
|
|
197
|
-
fetchApi: FetchApi;
|
|
198
|
-
discoveryApi: DiscoveryApi;
|
|
199
|
-
});
|
|
200
|
-
getBaseUrl(): Promise<string>;
|
|
201
|
-
getQuestions(options: GetQuestionsOptions): Promise<QuestionsResponse>;
|
|
202
|
-
getQuestionsList(type: string, options?: GetQuestionsOptions): Promise<QuestionsResponse>;
|
|
203
|
-
postQuestion(question: QuestionRequest): Promise<Question>;
|
|
204
|
-
commentQuestion(id: number, content: string): Promise<Question>;
|
|
205
|
-
deleteQuestionComment(questionId: number, id: number): Promise<Question>;
|
|
206
|
-
getQuestion(id?: string): Promise<Question>;
|
|
207
|
-
getTags(): Promise<TagResponse[]>;
|
|
208
|
-
getEntities(): Promise<EntityResponse[]>;
|
|
209
|
-
voteQuestionUp(id: number): Promise<Question>;
|
|
210
|
-
voteQuestionDown(id: number): Promise<Question>;
|
|
211
|
-
favoriteQuestion(id: number): Promise<Question>;
|
|
212
|
-
unfavoriteQuestion(id: number): Promise<Question>;
|
|
213
|
-
postAnswer(answer: AnswerRequest): Promise<AnswerResponseBody>;
|
|
214
|
-
commentAnswer(questionId: number, id: number, content: string): Promise<Answer>;
|
|
215
|
-
deleteAnswerComment(questionId: number, answerId: number, id: number): Promise<Answer>;
|
|
216
|
-
voteAnswerUp(questionId: number, id: number): Promise<Answer>;
|
|
217
|
-
voteAnswerDown(questionId: number, id: number): Promise<Answer>;
|
|
218
|
-
markAnswerCorrect(questionId: number, id: number): Promise<boolean>;
|
|
219
|
-
markAnswerIncorrect(questionId: number, id: number): Promise<boolean>;
|
|
220
|
-
deleteQuestion(questionId: number): Promise<boolean>;
|
|
221
|
-
deleteAnswer(questionId: number, id: number): Promise<boolean>;
|
|
222
|
-
updateQuestion(id: string, question: QuestionRequest): Promise<Question>;
|
|
223
|
-
updateAnswer(id: number, answer: AnswerRequest): Promise<AnswerResponseBody>;
|
|
224
|
-
getAnswers(options: GetAnswersOptions): Promise<AnswersResponse>;
|
|
225
|
-
getAnswer(questionId: string | number | undefined, id: string | number | undefined): Promise<AnswerResponseBody>;
|
|
226
|
-
getFollowedTags(): Promise<UserTagsResponse>;
|
|
227
|
-
followTag(tag: string): Promise<boolean>;
|
|
228
|
-
unfollowTag(tag: string): Promise<boolean>;
|
|
229
|
-
getFollowedEntities(): Promise<UserEntitiesResponse>;
|
|
230
|
-
followEntity(entityRef: string): Promise<boolean>;
|
|
231
|
-
unfollowEntity(entityRef: string): Promise<boolean>;
|
|
232
|
-
postAttachment(file: Blob): Promise<AttachmentResponseBody>;
|
|
233
|
-
getMostUpvotedAnswers(options: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
234
|
-
getMostUpvotedCorrectAnswers(options: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
235
|
-
getMostUpvotedQuestions(options: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
236
|
-
getMostQuestions(options: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
237
|
-
getMostAnswers(options: StatisticsRequestParameters): Promise<StatisticResponse>;
|
|
238
|
-
getTopStatisticsHomepage(options: StatisticsRequestParameters): Promise<StatisticResponse[]>;
|
|
239
|
-
getUserImpact(): Promise<ImpactResponse>;
|
|
240
|
-
getGlobalStats(): Promise<StatisticsResponse>;
|
|
241
|
-
getUserStats(userRef: string): Promise<StatisticsResponse>;
|
|
242
|
-
private getQueryParameters;
|
|
243
|
-
}
|
|
27
|
+
}) => react__default.JSX.Element;
|
|
244
28
|
|
|
245
|
-
|
|
246
|
-
declare const qetaTranslationRef: _backstage_core_plugin_api_alpha.TranslationRef<"qeta", {
|
|
247
|
-
readonly "answer.questionTitle": "Q: {{question}}";
|
|
248
|
-
readonly "answer.answeredTime": "answered";
|
|
249
|
-
readonly "favorite.remove": "Remove this question from favorites";
|
|
250
|
-
readonly "favorite.add": "Mark this question as favorite";
|
|
251
|
-
readonly "statistics.errorLoading": "Could not load statistics";
|
|
252
|
-
readonly "statistics.notAvailable": "Statistics are unavailable";
|
|
253
|
-
readonly "statistics.ranking": "Ranking Q&A 🏆";
|
|
254
|
-
readonly "statistics.mostQuestions.title": "Most questions";
|
|
255
|
-
readonly "statistics.mostQuestions.description": "People who have posted most questions";
|
|
256
|
-
readonly "statistics.mostAnswers.title": "Most answers";
|
|
257
|
-
readonly "statistics.mostAnswers.description": "People who have posted most answers";
|
|
258
|
-
readonly "statistics.topVotedQuestions.title": "Top voted questions";
|
|
259
|
-
readonly "statistics.topVotedQuestions.description": "People who have the highest rated questions";
|
|
260
|
-
readonly "statistics.topVotedAnswers.title": "Top voted answers";
|
|
261
|
-
readonly "statistics.topVotedAnswers.description": "People who have the highest rated answers";
|
|
262
|
-
readonly "statistics.topVotedCorrectAnswers.title": "Top voted correct answers";
|
|
263
|
-
readonly "statistics.topVotedCorrectAnswers.description": "People who have the highest rated correct answers";
|
|
264
|
-
readonly "link.question": "Copy link to this question to clipboard";
|
|
265
|
-
readonly "link.answer": "Copy link to this answer to clipboard";
|
|
266
|
-
readonly "link.aria": "Copy link to clipboard";
|
|
267
|
-
readonly pluginName: "Q&A";
|
|
268
|
-
readonly "answerList.errorLoading": "Could not load answers";
|
|
269
|
-
readonly "answerList.noAnswers": "No answers";
|
|
270
|
-
readonly "answerList.limitSelect": "Answers per page";
|
|
271
|
-
readonly "common.score": "{{score}} score";
|
|
272
|
-
readonly "common.anonymousAuthor": "Anonymous";
|
|
273
|
-
readonly "common.answers_zero": "No answers";
|
|
274
|
-
readonly "common.answers_one": "{{count}} answer";
|
|
275
|
-
readonly "common.answers_other": "{{count}} answers";
|
|
276
|
-
readonly "common.views_zero": "Viewed {{count}} times";
|
|
277
|
-
readonly "common.views_one": "Viewed {{count}} time";
|
|
278
|
-
readonly "common.views_other": "Viewed {{count}} times";
|
|
279
|
-
readonly "common.viewsShort_zero": "0 views";
|
|
280
|
-
readonly "common.viewsShort_one": "{{count}} view";
|
|
281
|
-
readonly "common.viewsShort_other": "{{count}} views";
|
|
282
|
-
readonly "common.questions_zero": "No questions";
|
|
283
|
-
readonly "common.questions_one": "{{count}} question";
|
|
284
|
-
readonly "common.questions_other": "{{count}} questions";
|
|
285
|
-
readonly "answerContainer.title.answersBy": "Answers by";
|
|
286
|
-
readonly "answerContainer.title.answersAbout": "Answers about";
|
|
287
|
-
readonly "answerContainer.title.answersTagged": "Answers tagged with {{tags}}";
|
|
288
|
-
readonly "answerContainer.search.label": "Search for answers";
|
|
289
|
-
readonly "answerContainer.search.placeholder": "Search...";
|
|
290
|
-
readonly "anonymousCheckbox.tooltip": "By enabling this, other users won't be able to see you as an author";
|
|
291
|
-
readonly "anonymousCheckbox.answerAnonymously": "Answer anonymously";
|
|
292
|
-
readonly "anonymousCheckbox.askAnonymously": "Ask anonymously";
|
|
293
|
-
readonly "askForm.errorPosting": "Could not post question";
|
|
294
|
-
readonly "askForm.titleInput.label": "Title";
|
|
295
|
-
readonly "askForm.titleInput.helperText": "Write good title for your question that people can understand";
|
|
296
|
-
readonly "askForm.contentInput.placeholder": "Your question";
|
|
297
|
-
readonly "askForm.submit.existingQuestion": "Save";
|
|
298
|
-
readonly "askForm.submit.newQuestion": "Post";
|
|
299
|
-
readonly "answerForm.errorPosting": "Could not post answer";
|
|
300
|
-
readonly "answerForm.contentInput.placeholder": "Your answer";
|
|
301
|
-
readonly "answerForm.submit.existingAnswer": "Save";
|
|
302
|
-
readonly "answerForm.submit.newAnswer": "Post";
|
|
303
|
-
readonly "entitiesInput.label": "Entities";
|
|
304
|
-
readonly "entitiesInput.placeholder": "Type or select entities";
|
|
305
|
-
readonly "entitiesInput.helperText": "Add up to {{max}} entities this question relates to";
|
|
306
|
-
readonly "tagsInput.label": "Tags";
|
|
307
|
-
readonly "tagsInput.placeholder": "Type or select tags";
|
|
308
|
-
readonly "tagsInput.helperText": "Add up to {{max}} tags to categorize your question";
|
|
309
|
-
readonly "askPage.title.existingQuestion": "Edit question";
|
|
310
|
-
readonly "askPage.title.newQuestion": "Ask a question";
|
|
311
|
-
readonly "askPage.title.entityQuestion": "Ask a question about {{entity}}";
|
|
312
|
-
readonly "askQuestionButton.title": "Ask a question";
|
|
313
|
-
readonly "backToQuestionsButton.title": "Back";
|
|
314
|
-
readonly "commentList.deleteLink": "delete";
|
|
315
|
-
readonly "commentSection.input.placeholder": "Your comment";
|
|
316
|
-
readonly "commentSection.addComment": "Add comment";
|
|
317
|
-
readonly "commentSection.post": "Post";
|
|
318
|
-
readonly "deleteModal.title.question": "Are you sure you want to delete this question?";
|
|
319
|
-
readonly "deleteModal.title.answer": "Are you sure you want to delete this answer?";
|
|
320
|
-
readonly "deleteModal.errorDeleting": "Failed to delete";
|
|
321
|
-
readonly "deleteModal.deleteButton": "Delete";
|
|
322
|
-
readonly "deleteModal.cancelButton": "Cancel";
|
|
323
|
-
readonly "favoritePage.title": "Your favorite questions";
|
|
324
|
-
readonly "leftMenu.tags": "Tags";
|
|
325
|
-
readonly "leftMenu.questions": "Questions";
|
|
326
|
-
readonly "leftMenu.statistics": "Statistics";
|
|
327
|
-
readonly "leftMenu.home": "Home";
|
|
328
|
-
readonly "leftMenu.profile": "Profile";
|
|
329
|
-
readonly "leftMenu.favoriteQuestions": "Favorites";
|
|
330
|
-
readonly "homePage.title": "Home";
|
|
331
|
-
readonly "impactCard.title": "Your impact";
|
|
332
|
-
readonly "impactCard.views": "views";
|
|
333
|
-
readonly "impactCard.contributions": "Your contributions helped {{lastWeek}} people this week";
|
|
334
|
-
readonly "rightMenu.followedEntities": "Followed entities";
|
|
335
|
-
readonly "rightMenu.followedTags": "Followed tags";
|
|
336
|
-
readonly "highlights.loadError": "Failed to load questions";
|
|
337
|
-
readonly "highlights.own.title": "Your latest questions";
|
|
338
|
-
readonly "highlights.own.noQuestionsLabel": "No questions";
|
|
339
|
-
readonly "highlights.hot.title": "Hot questions";
|
|
340
|
-
readonly "highlights.hot.noQuestionsLabel": "No questions";
|
|
341
|
-
readonly "highlights.unanswered.title": "Unanswered questions";
|
|
342
|
-
readonly "highlights.unanswered.noQuestionsLabel": "No unanswered questions";
|
|
343
|
-
readonly "highlights.incorrect.title": "Questions without correct answer";
|
|
344
|
-
readonly "highlights.incorrect.noQuestionsLabel": "No questions without correct answers";
|
|
345
|
-
readonly "questionsPage.title": "All questions";
|
|
346
|
-
readonly "userLink.anonymous": "Anonymous";
|
|
347
|
-
readonly "questionPage.errorLoading": "Could not load question";
|
|
348
|
-
readonly "questionPage.editButton": "Edit";
|
|
349
|
-
readonly "questionPage.sortAnswers.label": "Sort answers";
|
|
350
|
-
readonly "questionPage.sortAnswers.default": "Default";
|
|
351
|
-
readonly "questionPage.sortAnswers.createdDesc": "Created (desc)";
|
|
352
|
-
readonly "questionPage.sortAnswers.createdAsc": "Created (asc)";
|
|
353
|
-
readonly "questionPage.sortAnswers.scoreDesc": "Score (desc)";
|
|
354
|
-
readonly "questionPage.sortAnswers.scoreAsc": "Score (asc)";
|
|
355
|
-
readonly "questionPage.sortAnswers.commentsDesc": "Comments (desc)";
|
|
356
|
-
readonly "questionPage.sortAnswers.commentsAsc": "Comments (asc)";
|
|
357
|
-
readonly "questionPage.sortAnswers.authorDesc": "Author (desc)";
|
|
358
|
-
readonly "questionPage.sortAnswers.authorAsc": "Author (asc)";
|
|
359
|
-
readonly "questionPage.sortAnswers.updatedDesc": "Updated (desc)";
|
|
360
|
-
readonly "questionPage.sortAnswers.updatedAsc": "Updated (asc)";
|
|
361
|
-
readonly "authorBox.askedAtTime": "asked";
|
|
362
|
-
readonly "authorBox.postedAtTime": "Posted";
|
|
363
|
-
readonly "authorBox.updatedAtTime": "Updated";
|
|
364
|
-
readonly "authorBox.updatedBy": "by";
|
|
365
|
-
readonly "voteButtons.question.own": "You cannot vote your own question";
|
|
366
|
-
readonly "voteButtons.question.good": "This question is good";
|
|
367
|
-
readonly "voteButtons.question.bad": "This question is not good";
|
|
368
|
-
readonly "voteButtons.answer.own": "You cannot vote your own answer";
|
|
369
|
-
readonly "voteButtons.answer.markCorrect": "Mark this answer correct";
|
|
370
|
-
readonly "voteButtons.answer.markIncorrect": "Mark this answer incorrect";
|
|
371
|
-
readonly "voteButtons.answer.marked": "This answer has been marked as correct";
|
|
372
|
-
readonly "voteButtons.answer.good": "This answer is good";
|
|
373
|
-
readonly "voteButtons.answer.bad": "This answer is not good";
|
|
374
|
-
readonly "datePicker.from": "From date";
|
|
375
|
-
readonly "datePicker.to": "To date";
|
|
376
|
-
readonly "datePicker.invalidRange": "Date range invalid, 'To date' should be greater than 'From date'";
|
|
377
|
-
readonly "datePicker.range.label": "Date range";
|
|
378
|
-
readonly "datePicker.range.default": "Select";
|
|
379
|
-
readonly "datePicker.range.last7days": "Last 7 days";
|
|
380
|
-
readonly "datePicker.range.last30days": "Last 30 days";
|
|
381
|
-
readonly "datePicker.range.custom": "Custom";
|
|
382
|
-
readonly "filterPanel.noAnswers.label": "No answers";
|
|
383
|
-
readonly "filterPanel.filterButton": "Filter";
|
|
384
|
-
readonly "filterPanel.noCorrectAnswers.label": "No correct answers";
|
|
385
|
-
readonly "filterPanel.noVotes.label": "No votes";
|
|
386
|
-
readonly "filterPanel.orderBy.answers": "Answers";
|
|
387
|
-
readonly "filterPanel.orderBy.label": "Order by";
|
|
388
|
-
readonly "filterPanel.orderBy.score": "Score";
|
|
389
|
-
readonly "filterPanel.orderBy.views": "Views";
|
|
390
|
-
readonly "filterPanel.orderBy.created": "Created";
|
|
391
|
-
readonly "filterPanel.orderBy.updated": "Updated";
|
|
392
|
-
readonly "filterPanel.order.label": "Order";
|
|
393
|
-
readonly "filterPanel.order.desc": "Descending";
|
|
394
|
-
readonly "filterPanel.order.asc": "Ascending";
|
|
395
|
-
readonly "filterPanel.filters.tag.label": "Tag";
|
|
396
|
-
readonly "filterPanel.filters.tag.placeholder": "Type or select tag";
|
|
397
|
-
readonly "filterPanel.filters.label": "Filters";
|
|
398
|
-
readonly "filterPanel.filters.entity.label": "Entity";
|
|
399
|
-
readonly "filterPanel.filters.entity.placeholder": "Type or select entity";
|
|
400
|
-
readonly "questionList.errorLoading": "Could not load questions";
|
|
401
|
-
readonly "questionList.questionsPerPage": "Questions per page";
|
|
402
|
-
readonly "questionsContainer.title.favorite": "Your favorite questions";
|
|
403
|
-
readonly "questionsContainer.title.questionsBy": "Questions by";
|
|
404
|
-
readonly "questionsContainer.title.questionsAbout": "Questions about";
|
|
405
|
-
readonly "questionsContainer.title.questionsTagged": "Questions tagged with {{tags}}";
|
|
406
|
-
readonly "questionsContainer.search.label": "Search for questions";
|
|
407
|
-
readonly "questionsContainer.search.placeholder": "Search...";
|
|
408
|
-
readonly "questionsContainer.noQuestions": "No questions found";
|
|
409
|
-
readonly "questionsContainer.askOneButton": "Go ahead and ask one!";
|
|
410
|
-
readonly "questionsTable.errorLoading": "Could not load questions";
|
|
411
|
-
readonly "questionsTable.latest": "Latest";
|
|
412
|
-
readonly "questionsTable.mostViewed": "Most viewed";
|
|
413
|
-
readonly "questionsTable.favorites": "Favorites";
|
|
414
|
-
readonly "questionsTable.cells.author": "Author";
|
|
415
|
-
readonly "questionsTable.cells.title": "Title";
|
|
416
|
-
readonly "questionsTable.cells.asked": "Asked";
|
|
417
|
-
readonly "questionsTable.cells.updated": "Last updated";
|
|
418
|
-
readonly "tagPage.errorLoading": "Could not load tags";
|
|
419
|
-
readonly "tagPage.search.label": "Search tag";
|
|
420
|
-
readonly "tagPage.search.placeholder": "Search...";
|
|
421
|
-
readonly "tagPage.taggedWithTitle": "Questions tagged with {{tag}}";
|
|
422
|
-
readonly "tagPage.defaultTitle": "Tags";
|
|
423
|
-
readonly "tagPage.tags_zero": "No tags";
|
|
424
|
-
readonly "tagPage.tags_one": "Showing {{count}} tag";
|
|
425
|
-
readonly "tagPage.tags_other": "Showing {{count}} tags";
|
|
426
|
-
readonly "userPage.questions": "Questions";
|
|
427
|
-
readonly "userPage.answers": "Answers";
|
|
428
|
-
readonly "userPage.statistics": "Statistics";
|
|
429
|
-
readonly "userPage.profileTab": "Profile";
|
|
430
|
-
readonly "stats.questions": "Questions";
|
|
431
|
-
readonly "stats.answers": "Answers";
|
|
432
|
-
readonly "stats.views": "Views";
|
|
433
|
-
readonly "stats.noStats": "No statistics available. Check back later!";
|
|
434
|
-
readonly "stats.comments": "Comments";
|
|
435
|
-
readonly "stats.votes": "Votes";
|
|
436
|
-
readonly "tagButton.tooltip": "By following a tag, you will get notified when ever a new question with that tag is posted";
|
|
437
|
-
readonly "tagButton.follow": "Follow";
|
|
438
|
-
readonly "tagButton.unfollow": "Unfollow";
|
|
439
|
-
readonly "entityButton.tooltip": "By following an entity, you will get notified when ever a new question for that entity is posted";
|
|
440
|
-
readonly "entityButton.follow": "Follow";
|
|
441
|
-
readonly "entityButton.unfollow": "Unfollow";
|
|
442
|
-
}>;
|
|
443
|
-
declare const qetaTranslations: _backstage_core_plugin_api_alpha.TranslationResource<"qeta">;
|
|
29
|
+
declare const StatisticsPage: () => react__default.JSX.Element;
|
|
444
30
|
|
|
445
|
-
export {
|
|
31
|
+
export { Content, QetaPage, QuestionTableCard, StatisticsPage, qetaPlugin };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
export { QetaPage, QuestionTableCard, qetaPlugin } from './plugin.esm.js';
|
|
2
|
-
export { QuestionsContainer } from './components/QuestionsContainer/QuestionsContainer.esm.js';
|
|
3
|
-
export { AnswerList } from './components/AnswersContainer/AnswerList.esm.js';
|
|
4
|
-
export { AnswersContainer } from './components/AnswersContainer/AnswersContainer.esm.js';
|
|
5
|
-
export { AnswerListItem } from './components/AnswersContainer/AnswerListItem.esm.js';
|
|
6
|
-
export { AskForm } from './components/AskForm/AskForm.esm.js';
|
|
7
2
|
export { Content } from './components/QuestionTableCard/Content.esm.js';
|
|
8
|
-
export { QuestionsTable } from './components/QuestionTableCard/QuestionsTable.esm.js';
|
|
9
|
-
export { RankingCard, RankingRow, TopRankingUsers } from './components/Statistics/TopRankingUsersCard.esm.js';
|
|
10
|
-
export { TrophyIcon } from './components/Statistics/TrophyIcon.esm.js';
|
|
11
3
|
export { StatisticsPage } from './components/Statistics/StatisticsPage.esm.js';
|
|
12
|
-
export { QetaClient, qetaApiRef } from './api/QetaClient.esm.js';
|
|
13
|
-
export { qetaTranslationRef, qetaTranslations } from './translation.esm.js';
|
|
14
4
|
//# 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/plugin.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createPlugin, createApiFactory, fetchApiRef, discoveryApiRef, createRoutableExtension } from '@backstage/core-plugin-api';
|
|
2
2
|
import { createCardExtension } from '@backstage/plugin-home-react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { qetaRouteRef, qetaApiRef } from '@drodil/backstage-plugin-qeta-react';
|
|
4
|
+
import { QetaClient } from '@drodil/backstage-plugin-qeta-common';
|
|
5
5
|
|
|
6
6
|
const qetaPlugin = createPlugin({
|
|
7
7
|
id: "qeta",
|
package/dist/plugin.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n discoveryApiRef,\n fetchApiRef,\n} from '@backstage/core-plugin-api';\nimport { createCardExtension } from '@backstage/plugin-home-react';\nimport { qetaApiRef,
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["import {\n createApiFactory,\n createPlugin,\n createRoutableExtension,\n discoveryApiRef,\n fetchApiRef,\n} from '@backstage/core-plugin-api';\nimport { createCardExtension } from '@backstage/plugin-home-react';\nimport { qetaApiRef, qetaRouteRef } from '@drodil/backstage-plugin-qeta-react';\nimport { QetaClient } from '@drodil/backstage-plugin-qeta-common';\n\nexport const qetaPlugin = createPlugin({\n id: 'qeta',\n routes: {\n root: qetaRouteRef,\n },\n apis: [\n createApiFactory({\n api: qetaApiRef,\n deps: { fetchApi: fetchApiRef, discoveryApi: discoveryApiRef },\n factory: ({ fetchApi, discoveryApi }) =>\n new QetaClient({ fetchApi, discoveryApi }),\n }),\n ],\n});\n\nexport const QetaPage = qetaPlugin.provide(\n createRoutableExtension({\n name: 'QetaPage',\n component: () => import('./components/QetaPage').then(m => m.QetaPage),\n mountPoint: qetaRouteRef,\n }),\n);\n\nexport const QuestionTableCard = qetaPlugin.provide(\n createCardExtension<{ rowsPerPage?: number; quickFilter?: string }>({\n name: 'QuestionsTableCard',\n title: 'Q&A',\n description: 'Shows Q&A questions',\n components: () => import('./components/QuestionTableCard'),\n layout: {\n height: { minRows: 6 },\n width: { minColumns: 6 },\n },\n settings: {\n schema: {\n title: 'Q&A',\n type: 'object',\n properties: {\n rowsPerPage: {\n title: 'Rows per page',\n type: 'number',\n enum: [5, 10, 20, 30, 40, 50],\n default: 10,\n },\n quickFilter: {\n title: 'Default filter',\n type: 'string',\n enum: ['latest', 'favorites', 'most_viewed'],\n default: 'latest',\n },\n },\n },\n },\n }),\n);\n"],"names":[],"mappings":";;;;;AAWO,MAAM,aAAa,YAAa,CAAA;AAAA,EACrC,EAAI,EAAA,MAAA;AAAA,EACJ,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,YAAA;AAAA,GACR;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,gBAAiB,CAAA;AAAA,MACf,GAAK,EAAA,UAAA;AAAA,MACL,IAAM,EAAA,EAAE,QAAU,EAAA,WAAA,EAAa,cAAc,eAAgB,EAAA;AAAA,MAC7D,OAAA,EAAS,CAAC,EAAE,QAAU,EAAA,YAAA,EACpB,KAAA,IAAI,UAAW,CAAA,EAAE,QAAU,EAAA,YAAA,EAAc,CAAA;AAAA,KAC5C,CAAA;AAAA,GACH;AACF,CAAC,EAAA;AAEM,MAAM,WAAW,UAAW,CAAA,OAAA;AAAA,EACjC,uBAAwB,CAAA;AAAA,IACtB,IAAM,EAAA,UAAA;AAAA,IACN,SAAA,EAAW,MAAM,OAAO,oCAAuB,EAAE,IAAK,CAAA,CAAA,CAAA,KAAK,EAAE,QAAQ,CAAA;AAAA,IACrE,UAAY,EAAA,YAAA;AAAA,GACb,CAAA;AACH,EAAA;AAEO,MAAM,oBAAoB,UAAW,CAAA,OAAA;AAAA,EAC1C,mBAAoE,CAAA;AAAA,IAClE,IAAM,EAAA,oBAAA;AAAA,IACN,KAAO,EAAA,KAAA;AAAA,IACP,WAAa,EAAA,qBAAA;AAAA,IACb,UAAA,EAAY,MAAM,OAAO,6CAAgC,CAAA;AAAA,IACzD,MAAQ,EAAA;AAAA,MACN,MAAA,EAAQ,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,MACrB,KAAA,EAAO,EAAE,UAAA,EAAY,CAAE,EAAA;AAAA,KACzB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,MAAQ,EAAA;AAAA,QACN,KAAO,EAAA,KAAA;AAAA,QACP,IAAM,EAAA,QAAA;AAAA,QACN,UAAY,EAAA;AAAA,UACV,WAAa,EAAA;AAAA,YACX,KAAO,EAAA,eAAA;AAAA,YACP,IAAM,EAAA,QAAA;AAAA,YACN,MAAM,CAAC,CAAA,EAAG,IAAI,EAAI,EAAA,EAAA,EAAI,IAAI,EAAE,CAAA;AAAA,YAC5B,OAAS,EAAA,EAAA;AAAA,WACX;AAAA,UACA,WAAa,EAAA;AAAA,YACX,KAAO,EAAA,gBAAA;AAAA,YACP,IAAM,EAAA,QAAA;AAAA,YACN,IAAM,EAAA,CAAC,QAAU,EAAA,WAAA,EAAa,aAAa,CAAA;AAAA,YAC3C,OAAS,EAAA,QAAA;AAAA,WACX;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA;AACH;;;;"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"frontend",
|
|
8
8
|
"backstage.io"
|
|
9
9
|
],
|
|
10
|
-
"version": "
|
|
10
|
+
"version": "3.0.0",
|
|
11
11
|
"main": "dist/index.esm.js",
|
|
12
12
|
"types": "dist/index.d.ts",
|
|
13
13
|
"prepublishOnly": "yarn tsc && yarn build",
|
|
@@ -47,34 +47,18 @@
|
|
|
47
47
|
"tsc": "tsc"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@backstage/catalog-client": "^1.7.1",
|
|
51
50
|
"@backstage/catalog-model": "^1.7.0",
|
|
52
|
-
"@backstage/config": "^1.2.0",
|
|
53
51
|
"@backstage/core-components": "^0.15.1",
|
|
54
52
|
"@backstage/core-plugin-api": "^1.10.0",
|
|
55
|
-
"@backstage/errors": "^1.2.4",
|
|
56
53
|
"@backstage/plugin-catalog-react": "^1.14.0",
|
|
57
54
|
"@backstage/plugin-home-react": "^0.1.18",
|
|
58
|
-
"@backstage/plugin-permission-react": "^0.4.27",
|
|
59
55
|
"@backstage/plugin-signals-react": "^0.0.6",
|
|
60
|
-
"@drodil/backstage-plugin-qeta-common": "^
|
|
61
|
-
"@drodil/backstage-plugin-qeta-react": "^
|
|
56
|
+
"@drodil/backstage-plugin-qeta-common": "^3.0.0",
|
|
57
|
+
"@drodil/backstage-plugin-qeta-react": "^3.0.0",
|
|
62
58
|
"@material-ui/core": "^4.12.2",
|
|
63
59
|
"@material-ui/icons": "^4.11.3",
|
|
64
60
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
65
|
-
"
|
|
66
|
-
"dataloader": "^2.2.2",
|
|
67
|
-
"dompurify": "^3.1.3",
|
|
68
|
-
"file-type": "16.5.4",
|
|
69
|
-
"lodash": "^4.17.21",
|
|
70
|
-
"numeral": "^2.0.6",
|
|
71
|
-
"react-hook-form": "^7.46.2",
|
|
72
|
-
"react-markdown": "^9.0.1",
|
|
73
|
-
"react-mde": "^11.5.0",
|
|
74
|
-
"react-relative-time": "^0.0.9",
|
|
75
|
-
"react-syntax-highlighter": "^15.6.1",
|
|
76
|
-
"react-use": "^17.4.0",
|
|
77
|
-
"recharts": "^2.13.0"
|
|
61
|
+
"react-use": "^17.4.0"
|
|
78
62
|
},
|
|
79
63
|
"peerDependencies": {
|
|
80
64
|
"@backstage/catalog-client": "^1.7.1",
|
|
@@ -93,10 +77,6 @@
|
|
|
93
77
|
"@backstage/plugin-notifications": "^0.3.2",
|
|
94
78
|
"@backstage/plugin-signals": "^0.0.11",
|
|
95
79
|
"@testing-library/jest-dom": "^6.1.3",
|
|
96
|
-
"@types/dompurify": "^3.0.0",
|
|
97
|
-
"@types/lodash": "^4.14.199",
|
|
98
|
-
"@types/numeral": "^2",
|
|
99
|
-
"@types/react-syntax-highlighter": "^15",
|
|
100
80
|
"cross-fetch": "^3.1.5"
|
|
101
81
|
},
|
|
102
82
|
"files": [
|