@backstage/plugin-scaffolder 1.13.0-next.0 → 1.13.0-next.2
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 +50 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.d.ts +12 -70
- package/dist/alpha.esm.js +21 -18
- package/dist/alpha.esm.js.map +1 -1
- package/dist/esm/{alpha/ListTasksPage-a9fab591.esm.js → ListTasksPage-caaca86d.esm.js} +3 -2
- package/dist/esm/ListTasksPage-caaca86d.esm.js.map +1 -0
- package/dist/esm/{index/Router-f32000f9.esm.js → Router-f509f2e0.esm.js} +19 -16
- package/dist/esm/Router-f509f2e0.esm.js.map +1 -0
- package/dist/esm/{index/index-8321766a.esm.js → TaskPage-f304e0fc.esm.js} +31 -88
- package/dist/esm/TaskPage-f304e0fc.esm.js.map +1 -0
- package/dist/esm/{index/ListTasksPage-64779a2d.esm.js → TemplateEditorIntro-f7f6d664.esm.js} +396 -530
- package/dist/esm/TemplateEditorIntro-f7f6d664.esm.js.map +1 -0
- package/dist/esm/{index/index-e3edaa49.esm.js → TemplateFormPreviewer-299c316c.esm.js} +18 -379
- package/dist/esm/TemplateFormPreviewer-299c316c.esm.js.map +1 -0
- package/dist/esm/TemplateTypePicker-4f07b216.esm.js +58 -0
- package/dist/esm/TemplateTypePicker-4f07b216.esm.js.map +1 -0
- package/dist/esm/{alpha/index-d45f106a.esm.js → index-64f5b7a5.esm.js} +26 -23
- package/dist/esm/index-64f5b7a5.esm.js.map +1 -0
- package/dist/index.d.ts +46 -205
- package/dist/index.esm.js +19 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/types/plugin.d-7a7914d1.d.ts +232 -0
- package/package.json +24 -22
- package/dist/esm/alpha/ListTasksPage-a9fab591.esm.js.map +0 -1
- package/dist/esm/alpha/Router-ea3122d2.esm.js +0 -1581
- package/dist/esm/alpha/Router-ea3122d2.esm.js.map +0 -1
- package/dist/esm/alpha/alpha-0764fae7.esm.js +0 -3410
- package/dist/esm/alpha/alpha-0764fae7.esm.js.map +0 -1
- package/dist/esm/alpha/index-d45f106a.esm.js.map +0 -1
- package/dist/esm/index/ListTasksPage-64779a2d.esm.js.map +0 -1
- package/dist/esm/index/Router-f32000f9.esm.js.map +0 -1
- package/dist/esm/index/index-8321766a.esm.js.map +0 -1
- package/dist/esm/index/index-e3edaa49.esm.js.map +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { r as rootRouteRef$1 } from './esm/TaskPage-f304e0fc.esm.js';
|
|
2
|
+
export { a as EntityNamePickerFieldExtension, E as EntityPickerFieldExtension, e as EntityPickerFieldSchema, b as EntityTagsPickerFieldExtension, j as EntityTagsPickerFieldSchema, c as OwnedEntityPickerFieldExtension, i as OwnedEntityPickerFieldSchema, O as OwnerPickerFieldExtension, f as OwnerPickerFieldSchema, R as RepoUrlPickerFieldExtension, g as RepoUrlPickerFieldSchema, S as ScaffolderClient, d as ScaffolderPage, T as TaskPage, m as makeFieldSchemaFromZod, h as repoPickerValidation, s as scaffolderPlugin } from './esm/TaskPage-f304e0fc.esm.js';
|
|
3
|
+
export { T as TemplateTypePicker } from './esm/TemplateTypePicker-4f07b216.esm.js';
|
|
4
|
+
import { createScaffolderFieldExtension as createScaffolderFieldExtension$1, ScaffolderFieldExtensions as ScaffolderFieldExtensions$1, useTemplateSecrets as useTemplateSecrets$1, scaffolderApiRef as scaffolderApiRef$1, createScaffolderLayout as createScaffolderLayout$1, ScaffolderLayouts as ScaffolderLayouts$1 } from '@backstage/plugin-scaffolder-react';
|
|
5
|
+
import '@backstage/integration-react';
|
|
2
6
|
import '@backstage/catalog-model';
|
|
3
7
|
import '@backstage/errors';
|
|
4
8
|
import 'qs';
|
|
5
9
|
import 'zen-observable';
|
|
6
|
-
import '@backstage/integration-react';
|
|
7
|
-
import '@backstage/plugin-scaffolder-react';
|
|
8
10
|
import '@backstage/catalog-client';
|
|
9
11
|
import '@backstage/core-plugin-api';
|
|
10
12
|
import '@backstage/plugin-catalog-react';
|
|
@@ -22,10 +24,6 @@ import '@backstage/core-components';
|
|
|
22
24
|
import 'react-use/lib/useDebounce';
|
|
23
25
|
import 'react-use/lib/useEffectOnce';
|
|
24
26
|
import '@material-ui/lab';
|
|
25
|
-
import 'lodash/capitalize';
|
|
26
|
-
import '@material-ui/icons/CheckBox';
|
|
27
|
-
import '@material-ui/icons/CheckBoxOutlineBlank';
|
|
28
|
-
import '@material-ui/icons/ExpandMore';
|
|
29
27
|
import '@material-ui/core/Grid';
|
|
30
28
|
import '@material-ui/core/Step';
|
|
31
29
|
import '@material-ui/core/StepLabel';
|
|
@@ -40,4 +38,18 @@ import 'luxon';
|
|
|
40
38
|
import 'react-router-dom';
|
|
41
39
|
import 'react-use/lib/useInterval';
|
|
42
40
|
import '@material-ui/icons/Language';
|
|
41
|
+
import 'lodash/capitalize';
|
|
42
|
+
import '@material-ui/icons/CheckBox';
|
|
43
|
+
import '@material-ui/icons/CheckBoxOutlineBlank';
|
|
44
|
+
import '@material-ui/icons/ExpandMore';
|
|
45
|
+
|
|
46
|
+
const rootRouteRef = rootRouteRef$1;
|
|
47
|
+
const createScaffolderFieldExtension = createScaffolderFieldExtension$1;
|
|
48
|
+
const ScaffolderFieldExtensions = ScaffolderFieldExtensions$1;
|
|
49
|
+
const useTemplateSecrets = useTemplateSecrets$1;
|
|
50
|
+
const scaffolderApiRef = scaffolderApiRef$1;
|
|
51
|
+
const createScaffolderLayout = createScaffolderLayout$1;
|
|
52
|
+
const ScaffolderLayouts = ScaffolderLayouts$1;
|
|
53
|
+
|
|
54
|
+
export { ScaffolderFieldExtensions, ScaffolderLayouts, createScaffolderFieldExtension, createScaffolderLayout, rootRouteRef, scaffolderApiRef, useTemplateSecrets };
|
|
43
55
|
//# 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":["../src/deprecated.ts"],"sourcesContent":["/*\n * Copyright 2022 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\n/*\n * This file is here to re-export exports from the `@backage/plugin-scaffolder-react` package to keep backwards compatibility.\n * But mark them as deprecated so that any import that is using these exports will be notified that they should use the `-react` package instead.\n * It's a little awkward to get the deprecated notice to show up in the API report, which is why it's all been extracted out to this file.\n */\n\nimport {\n createScaffolderFieldExtension as createScaffolderFieldExtensionTemp,\n ScaffolderFieldExtensions as ScaffolderFieldExtensionsTemp,\n useTemplateSecrets as useTemplateSecretsTemp,\n scaffolderApiRef as scaffolderApiRefTemp,\n createScaffolderLayout as createScaffolderLayoutTemp,\n ScaffolderLayouts as ScaffolderLayoutsTemp,\n type LayoutOptions as LayoutOptionsTemp,\n type LayoutTemplate as LayoutTemplateTemp,\n type ScaffolderApi as ScaffolderApiTemp,\n type ScaffolderUseTemplateSecrets as ScaffolderUseTemplateSecretsTemp,\n type TemplateParameterSchema as TemplateParameterSchemaTemp,\n type CustomFieldExtensionSchema as CustomFieldExtensionSchemaTemp,\n type CustomFieldValidator as CustomFieldValidatorTemp,\n type FieldExtensionOptions as FieldExtensionOptionsTemp,\n type FieldExtensionComponentProps as FieldExtensionComponentPropsTemp,\n type FieldExtensionComponent as FieldExtensionComponentTemp,\n type ListActionsResponse as ListActionsResponseTemp,\n type LogEvent as LogEventTemp,\n type ScaffolderDryRunOptions as ScaffolderDryRunOptionsTemp,\n type ScaffolderDryRunResponse as ScaffolderDryRunResponseTemp,\n type ScaffolderGetIntegrationsListOptions as ScaffolderGetIntegrationsListOptionsTemp,\n type ScaffolderGetIntegrationsListResponse as ScaffolderGetIntegrationsListResponseTemp,\n type ScaffolderOutputLink as ScaffolderOutputLinkTemp,\n type ScaffolderScaffoldOptions as ScaffolderScaffoldOptionsTemp,\n type ScaffolderScaffoldResponse as ScaffolderScaffoldResponseTemp,\n type ScaffolderStreamLogsOptions as ScaffolderStreamLogsOptionsTemp,\n type ScaffolderTask as ScaffolderTaskTemp,\n type ScaffolderTaskOutput as ScaffolderTaskOutputTemp,\n type ScaffolderTaskStatus as ScaffolderTaskStatusTemp,\n} from '@backstage/plugin-scaffolder-react';\n\nimport { rootRouteRef as rootRouteRefTemp } from './routes';\n\n/**\n * @public\n * @deprecated use import from `{@link @backstage/plugin-scaffolder#scaffolderPlugin}.routes.root` instead.\n */\nexport const rootRouteRef = rootRouteRefTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#createScaffolderFieldExtension} instead as this has now been moved.\n */\nexport const createScaffolderFieldExtension =\n createScaffolderFieldExtensionTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderFieldExtensions} instead as this has now been moved.\n */\nexport const ScaffolderFieldExtensions = ScaffolderFieldExtensionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#useTemplateSecrets} instead as this has now been moved.\n */\nexport const useTemplateSecrets = useTemplateSecretsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#scaffolderApiRef} instead as this has now been moved.\n */\nexport const scaffolderApiRef = scaffolderApiRefTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderApi} instead as this has now been moved.\n */\nexport type ScaffolderApi = ScaffolderApiTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderUseTemplateSecrets} instead as this has now been moved.\n */\nexport type ScaffolderUseTemplateSecrets = ScaffolderUseTemplateSecretsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#TemplateParameterSchema} instead as this has now been moved.\n */\nexport type TemplateParameterSchema = TemplateParameterSchemaTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#CustomFieldExtensionSchema} instead as this has now been moved.\n */\nexport type CustomFieldExtensionSchema = CustomFieldExtensionSchemaTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#CustomFieldValidator} instead as this has now been moved.\n */\nexport type CustomFieldValidator<TReturnFieldData> =\n CustomFieldValidatorTemp<TReturnFieldData>;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionOptions} instead as this has now been moved.\n */\nexport type FieldExtensionOptions = FieldExtensionOptionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionComponentProps} instead as this has now been moved.\n */\nexport type FieldExtensionComponentProps<\n TFieldReturnValue,\n TUiOptions extends {} = {},\n> = FieldExtensionComponentPropsTemp<TFieldReturnValue, TUiOptions>;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#FieldExtensionComponent} instead as this has now been moved.\n */\nexport type FieldExtensionComponent<_TReturnValue, _TInputProps> =\n FieldExtensionComponentTemp<_TReturnValue, _TInputProps>;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ListActionsResponse} instead as this has now been moved.\n */\nexport type ListActionsResponse = ListActionsResponseTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#LogEvent} instead as this has now been moved.\n */\nexport type LogEvent = LogEventTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderDryRunOptions} instead as this has now been moved.\n */\nexport type ScaffolderDryRunOptions = ScaffolderDryRunOptionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderDryRunResponse} instead as this has now been moved.\n */\nexport type ScaffolderDryRunResponse = ScaffolderDryRunResponseTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderGetIntegrationsListOptions} instead as this has now been moved.\n */\nexport type ScaffolderGetIntegrationsListOptions =\n ScaffolderGetIntegrationsListOptionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderGetIntegrationsListResponse} instead as this has now been moved.\n */\nexport type ScaffolderGetIntegrationsListResponse =\n ScaffolderGetIntegrationsListResponseTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderOutputlink} instead as this has now been moved.\n */\nexport type ScaffolderOutputlink = ScaffolderOutputLinkTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderScaffoldOptions} instead as this has now been moved.\n */\nexport type ScaffolderScaffoldOptions = ScaffolderScaffoldOptionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderScaffoldResponse} instead as this has now been moved.\n */\nexport type ScaffolderScaffoldResponse = ScaffolderScaffoldResponseTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderStreamLogsOptions} instead as this has now been moved.\n */\nexport type ScaffolderStreamLogsOptions = ScaffolderStreamLogsOptionsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTask} instead as this has now been moved.\n */\nexport type ScaffolderTask = ScaffolderTaskTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTaskOutput} instead as this has now been moved.\n */\nexport type ScaffolderTaskOutput = ScaffolderTaskOutputTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderTaskStatus} instead as this has now been moved.\n */\nexport type ScaffolderTaskStatus = ScaffolderTaskStatusTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#createScaffolderLayout} instead as this has now been moved.\n */\nexport const createScaffolderLayout = createScaffolderLayoutTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#ScaffolderLayouts} instead as this has now been moved.\n */\nexport const ScaffolderLayouts = ScaffolderLayoutsTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#LayoutTemplate} instead as this has now been moved.\n */\nexport type LayoutTemplate = LayoutTemplateTemp;\n/**\n * @public\n * @deprecated use import from {@link @backstage/plugin-scaffolder-react#LayoutOptions} instead as this has now been moved.\n */\nexport type LayoutOptions = LayoutOptionsTemp;\n"],"names":["rootRouteRefTemp","createScaffolderFieldExtensionTemp","ScaffolderFieldExtensionsTemp","useTemplateSecretsTemp","scaffolderApiRefTemp","createScaffolderLayoutTemp","ScaffolderLayoutsTemp"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DO,MAAM,YAAe,GAAAA,eAAA;AAKrB,MAAM,8BACX,GAAAC,iCAAA;AAKK,MAAM,yBAA4B,GAAAC,4BAAA;AAKlC,MAAM,kBAAqB,GAAAC,qBAAA;AAK3B,MAAM,gBAAmB,GAAAC,mBAAA;AAqHzB,MAAM,sBAAyB,GAAAC,yBAAA;AAK/B,MAAM,iBAAoB,GAAAC;;;;"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import React__default, { ComponentType } from 'react';
|
|
4
|
+
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
|
|
5
|
+
import { TemplateGroupFilter, NextFieldExtensionOptions, FormProps } from '@backstage/plugin-scaffolder-react/alpha';
|
|
6
|
+
import * as _backstage_plugin_scaffolder_react from '@backstage/plugin-scaffolder-react';
|
|
7
|
+
import { LayoutOptions, ScaffolderTaskOutput } from '@backstage/plugin-scaffolder-react';
|
|
8
|
+
import { Entity } from '@backstage/catalog-model';
|
|
9
|
+
import { UiSchema } from '@rjsf/utils';
|
|
10
|
+
import { JsonObject } from '@backstage/types';
|
|
11
|
+
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @alpha
|
|
15
|
+
*/
|
|
16
|
+
type TemplateListPageProps = {
|
|
17
|
+
TemplateCardComponent?: React__default.ComponentType<{
|
|
18
|
+
template: TemplateEntityV1beta3;
|
|
19
|
+
}>;
|
|
20
|
+
groups?: TemplateGroupFilter[];
|
|
21
|
+
templateFilter?: (entity: TemplateEntityV1beta3) => boolean;
|
|
22
|
+
contextMenu?: {
|
|
23
|
+
editor?: boolean;
|
|
24
|
+
actions?: boolean;
|
|
25
|
+
tasks?: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @alpha
|
|
31
|
+
*/
|
|
32
|
+
type TemplateWizardPageProps = {
|
|
33
|
+
customFieldExtensions: NextFieldExtensionOptions<any, any>[];
|
|
34
|
+
layouts?: LayoutOptions[];
|
|
35
|
+
FormProps?: FormProps;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The Props for the Scaffolder Router
|
|
40
|
+
*
|
|
41
|
+
* @alpha
|
|
42
|
+
*/
|
|
43
|
+
type NextRouterProps = {
|
|
44
|
+
components?: {
|
|
45
|
+
TemplateCardComponent?: React__default.ComponentType<{
|
|
46
|
+
template: TemplateEntityV1beta3;
|
|
47
|
+
}>;
|
|
48
|
+
TaskPageComponent?: React__default.ComponentType<{}>;
|
|
49
|
+
TemplateOutputsComponent?: React__default.ComponentType<{
|
|
50
|
+
output?: ScaffolderTaskOutput;
|
|
51
|
+
}>;
|
|
52
|
+
TemplateListPageComponent?: React__default.ComponentType<TemplateListPageProps>;
|
|
53
|
+
TemplateWizardPageComponent?: React__default.ComponentType<TemplateWizardPageProps>;
|
|
54
|
+
};
|
|
55
|
+
groups?: TemplateGroupFilter[];
|
|
56
|
+
templateFilter?: (entity: TemplateEntityV1beta3) => boolean;
|
|
57
|
+
FormProps?: FormProps;
|
|
58
|
+
contextMenu?: {
|
|
59
|
+
/** Whether to show a link to the template editor */
|
|
60
|
+
editor?: boolean;
|
|
61
|
+
/** Whether to show a link to the actions documentation */
|
|
62
|
+
actions?: boolean;
|
|
63
|
+
/** Whether to show a link to the tasks page */
|
|
64
|
+
tasks?: boolean;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The props for the Last Step in scaffolder template form.
|
|
70
|
+
* Which represents the summary of the input provided by the end user.
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
type ReviewStepProps = {
|
|
75
|
+
disableButtons: boolean;
|
|
76
|
+
formData: JsonObject;
|
|
77
|
+
handleBack: () => void;
|
|
78
|
+
handleReset: () => void;
|
|
79
|
+
handleCreate: () => void;
|
|
80
|
+
steps: {
|
|
81
|
+
uiSchema: UiSchema;
|
|
82
|
+
mergedSchema: JsonObject;
|
|
83
|
+
schema: JsonObject;
|
|
84
|
+
}[];
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* The props for the entrypoint `ScaffolderPage` component the plugin.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
type RouterProps = {
|
|
92
|
+
components?: {
|
|
93
|
+
ReviewStepComponent?: ComponentType<ReviewStepProps>;
|
|
94
|
+
TemplateCardComponent?: ComponentType<{
|
|
95
|
+
template: TemplateEntityV1beta3;
|
|
96
|
+
}> | undefined;
|
|
97
|
+
TaskPageComponent?: ComponentType<{}>;
|
|
98
|
+
};
|
|
99
|
+
groups?: Array<{
|
|
100
|
+
title?: React__default.ReactNode;
|
|
101
|
+
filter: (entity: Entity) => boolean;
|
|
102
|
+
}>;
|
|
103
|
+
templateFilter?: (entity: TemplateEntityV1beta3) => boolean;
|
|
104
|
+
defaultPreviewTemplate?: string;
|
|
105
|
+
headerOptions?: {
|
|
106
|
+
pageTitleOverride?: string;
|
|
107
|
+
title?: string;
|
|
108
|
+
subtitle?: string;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Options for the context menu on the scaffolder page.
|
|
112
|
+
*/
|
|
113
|
+
contextMenu?: {
|
|
114
|
+
/** Whether to show a link to the template editor */
|
|
115
|
+
editor?: boolean;
|
|
116
|
+
/** Whether to show a link to the actions documentation */
|
|
117
|
+
actions?: boolean;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* The main plugin export for the scaffolder.
|
|
123
|
+
* @public
|
|
124
|
+
*/
|
|
125
|
+
declare const scaffolderPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
126
|
+
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
127
|
+
selectedTemplate: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/templates/:namespace/:templateName">>;
|
|
128
|
+
ongoingTask: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/tasks/:taskId">>;
|
|
129
|
+
actions: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
130
|
+
listTasks: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
131
|
+
edit: _backstage_core_plugin_api.SubRouteRef<undefined>;
|
|
132
|
+
}, {
|
|
133
|
+
registerComponent: _backstage_core_plugin_api.ExternalRouteRef<undefined, true>;
|
|
134
|
+
viewTechDoc: _backstage_core_plugin_api.ExternalRouteRef<{
|
|
135
|
+
name: string;
|
|
136
|
+
kind: string;
|
|
137
|
+
namespace: string;
|
|
138
|
+
}, true>;
|
|
139
|
+
}, {}>;
|
|
140
|
+
/**
|
|
141
|
+
* A field extension for selecting an Entity that exists in the Catalog.
|
|
142
|
+
*
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
declare const EntityPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
146
|
+
allowedKinds?: string[] | undefined;
|
|
147
|
+
defaultKind?: string | undefined;
|
|
148
|
+
allowArbitraryValues?: boolean | undefined;
|
|
149
|
+
defaultNamespace?: string | false | undefined;
|
|
150
|
+
catalogFilter?: Record<string, string | string[] | {
|
|
151
|
+
exists?: boolean | undefined;
|
|
152
|
+
}> | Record<string, string | string[] | {
|
|
153
|
+
exists?: boolean | undefined;
|
|
154
|
+
}>[] | undefined;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* The field extension for selecting a name for a new Entity in the Catalog.
|
|
158
|
+
*
|
|
159
|
+
* @public
|
|
160
|
+
*/
|
|
161
|
+
declare const EntityNamePickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {}>;
|
|
162
|
+
/**
|
|
163
|
+
* The field extension which provides the ability to select a RepositoryUrl.
|
|
164
|
+
* Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`.
|
|
165
|
+
*
|
|
166
|
+
* @public
|
|
167
|
+
*/
|
|
168
|
+
declare const RepoUrlPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
169
|
+
allowedHosts?: string[] | undefined;
|
|
170
|
+
allowedOrganizations?: string[] | undefined;
|
|
171
|
+
allowedOwners?: string[] | undefined;
|
|
172
|
+
allowedProjects?: string[] | undefined;
|
|
173
|
+
allowedRepos?: string[] | undefined;
|
|
174
|
+
requestUserCredentials?: {
|
|
175
|
+
secretsKey: string;
|
|
176
|
+
additionalScopes?: {
|
|
177
|
+
gerrit?: string[] | undefined;
|
|
178
|
+
github?: string[] | undefined;
|
|
179
|
+
gitlab?: string[] | undefined;
|
|
180
|
+
bitbucket?: string[] | undefined;
|
|
181
|
+
azure?: string[] | undefined;
|
|
182
|
+
} | undefined;
|
|
183
|
+
} | undefined;
|
|
184
|
+
}>;
|
|
185
|
+
/**
|
|
186
|
+
* A field extension for picking users and groups out of the Catalog.
|
|
187
|
+
*
|
|
188
|
+
* @public
|
|
189
|
+
*/
|
|
190
|
+
declare const OwnerPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
191
|
+
allowedKinds?: string[] | undefined;
|
|
192
|
+
allowArbitraryValues?: boolean | undefined;
|
|
193
|
+
defaultNamespace?: string | false | undefined;
|
|
194
|
+
catalogFilter?: Record<string, string | string[] | {
|
|
195
|
+
exists?: boolean | undefined;
|
|
196
|
+
}> | Record<string, string | string[] | {
|
|
197
|
+
exists?: boolean | undefined;
|
|
198
|
+
}>[] | undefined;
|
|
199
|
+
}>;
|
|
200
|
+
/**
|
|
201
|
+
* The Router and main entrypoint to the Scaffolder plugin.
|
|
202
|
+
*
|
|
203
|
+
* @public
|
|
204
|
+
*/
|
|
205
|
+
declare const ScaffolderPage: (props: RouterProps) => JSX.Element;
|
|
206
|
+
/**
|
|
207
|
+
* A field extension to show all the Entities that are owned by the current logged-in User for use in templates.
|
|
208
|
+
*
|
|
209
|
+
* @public
|
|
210
|
+
*/
|
|
211
|
+
declare const OwnedEntityPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
|
|
212
|
+
allowedKinds?: string[] | undefined;
|
|
213
|
+
defaultKind?: string | undefined;
|
|
214
|
+
allowArbitraryValues?: boolean | undefined;
|
|
215
|
+
defaultNamespace?: string | false | undefined;
|
|
216
|
+
}>;
|
|
217
|
+
/**
|
|
218
|
+
* EntityTagsPickerFieldExtension
|
|
219
|
+
* @public
|
|
220
|
+
*/
|
|
221
|
+
declare const EntityTagsPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string[], {
|
|
222
|
+
kinds?: string[] | undefined;
|
|
223
|
+
showCounts?: boolean | undefined;
|
|
224
|
+
helperText?: string | undefined;
|
|
225
|
+
}>;
|
|
226
|
+
/**
|
|
227
|
+
* @alpha
|
|
228
|
+
* The Router and main entrypoint to the Alpha Scaffolder plugin.
|
|
229
|
+
*/
|
|
230
|
+
declare const NextScaffolderPage: (props: React.PropsWithChildren<NextRouterProps>) => JSX.Element;
|
|
231
|
+
|
|
232
|
+
export { EntityPickerFieldExtension as E, NextScaffolderPage as N, OwnerPickerFieldExtension as O, RepoUrlPickerFieldExtension as R, ScaffolderPage as S, TemplateListPageProps as T, EntityNamePickerFieldExtension as a, EntityTagsPickerFieldExtension as b, OwnedEntityPickerFieldExtension as c, RouterProps as d, ReviewStepProps as e, NextRouterProps as f, TemplateWizardPageProps as g, scaffolderPlugin as s };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-scaffolder",
|
|
3
3
|
"description": "The Backstage plugin that helps you create new things",
|
|
4
|
-
"version": "1.13.0-next.
|
|
4
|
+
"version": "1.13.0-next.2",
|
|
5
5
|
"main": "./dist/index.esm.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -43,20 +43,20 @@
|
|
|
43
43
|
"clean": "backstage-cli package clean"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@backstage/catalog-client": "^1.4.0",
|
|
46
|
+
"@backstage/catalog-client": "^1.4.1-next.0",
|
|
47
47
|
"@backstage/catalog-model": "^1.2.1",
|
|
48
48
|
"@backstage/config": "^1.0.7",
|
|
49
|
-
"@backstage/core-components": "^0.12.6-next.
|
|
50
|
-
"@backstage/core-plugin-api": "^1.5.
|
|
49
|
+
"@backstage/core-components": "^0.12.6-next.2",
|
|
50
|
+
"@backstage/core-plugin-api": "^1.5.1-next.1",
|
|
51
51
|
"@backstage/errors": "^1.1.5",
|
|
52
|
-
"@backstage/integration": "^1.4.
|
|
53
|
-
"@backstage/integration-react": "^1.1.12-next.
|
|
54
|
-
"@backstage/plugin-catalog-common": "^1.0.
|
|
55
|
-
"@backstage/plugin-catalog-react": "^1.4.1-next.
|
|
56
|
-
"@backstage/plugin-permission-react": "^0.4.
|
|
57
|
-
"@backstage/plugin-scaffolder-common": "^1.2.7-next.
|
|
58
|
-
"@backstage/plugin-scaffolder-react": "^1.3.0-next.
|
|
59
|
-
"@backstage/theme": "^0.2.
|
|
52
|
+
"@backstage/integration": "^1.4.4-next.0",
|
|
53
|
+
"@backstage/integration-react": "^1.1.12-next.2",
|
|
54
|
+
"@backstage/plugin-catalog-common": "^1.0.13-next.0",
|
|
55
|
+
"@backstage/plugin-catalog-react": "^1.4.1-next.2",
|
|
56
|
+
"@backstage/plugin-permission-react": "^0.4.12-next.1",
|
|
57
|
+
"@backstage/plugin-scaffolder-common": "^1.2.7-next.1",
|
|
58
|
+
"@backstage/plugin-scaffolder-react": "^1.3.0-next.2",
|
|
59
|
+
"@backstage/theme": "^0.2.19-next.0",
|
|
60
60
|
"@backstage/types": "^1.0.2",
|
|
61
61
|
"@codemirror/language": "^6.0.0",
|
|
62
62
|
"@codemirror/legacy-modes": "^6.1.0",
|
|
@@ -67,8 +67,9 @@
|
|
|
67
67
|
"@react-hookz/web": "^20.0.0",
|
|
68
68
|
"@rjsf/core": "^3.2.1",
|
|
69
69
|
"@rjsf/material-ui": "^3.2.1",
|
|
70
|
-
"@rjsf/utils": "5.
|
|
71
|
-
"@rjsf/validator-ajv8": "5.
|
|
70
|
+
"@rjsf/utils": "5.5.0",
|
|
71
|
+
"@rjsf/validator-ajv8": "5.5.0",
|
|
72
|
+
"@types/react": "^16.13.1 || ^17.0.0",
|
|
72
73
|
"@uiw/react-codemirror": "^4.9.3",
|
|
73
74
|
"classnames": "^2.2.6",
|
|
74
75
|
"git-url-parse": "^13.0.0",
|
|
@@ -82,20 +83,21 @@
|
|
|
82
83
|
"react-use": "^17.2.4",
|
|
83
84
|
"yaml": "^2.0.0",
|
|
84
85
|
"zen-observable": "^0.10.0",
|
|
85
|
-
"zod": "
|
|
86
|
-
"zod-to-json-schema": "
|
|
86
|
+
"zod": "^3.21.4",
|
|
87
|
+
"zod-to-json-schema": "^3.20.4"
|
|
87
88
|
},
|
|
88
89
|
"peerDependencies": {
|
|
89
|
-
"@types/react": "^16.13.1 || ^17.0.0",
|
|
90
90
|
"react": "^16.13.1 || ^17.0.0",
|
|
91
|
+
"react-dom": "^16.13.1 || ^17.0.0",
|
|
91
92
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
92
93
|
},
|
|
93
94
|
"devDependencies": {
|
|
94
|
-
"@backstage/cli": "^0.22.6-next.
|
|
95
|
-
"@backstage/core-app-api": "^1.7.0-next.
|
|
96
|
-
"@backstage/dev-utils": "^1.0.14-next.
|
|
97
|
-
"@backstage/plugin-catalog": "^1.10.0-next.
|
|
98
|
-
"@backstage/test-utils": "^1.3.0-next.
|
|
95
|
+
"@backstage/cli": "^0.22.6-next.2",
|
|
96
|
+
"@backstage/core-app-api": "^1.7.0-next.2",
|
|
97
|
+
"@backstage/dev-utils": "^1.0.14-next.2",
|
|
98
|
+
"@backstage/plugin-catalog": "^1.10.0-next.2",
|
|
99
|
+
"@backstage/test-utils": "^1.3.0-next.2",
|
|
100
|
+
"@testing-library/dom": "^8.0.0",
|
|
99
101
|
"@testing-library/jest-dom": "^5.10.1",
|
|
100
102
|
"@testing-library/react": "^12.1.3",
|
|
101
103
|
"@testing-library/react-hooks": "^8.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListTasksPage-a9fab591.esm.js","sources":["../../../src/extensions/default.ts","../../../src/components/ListTasksPage/columns/CreatedAtColumn.tsx","../../../src/components/ListTasksPage/columns/OwnerEntityColumn.tsx","../../../src/components/ListTasksPage/columns/TaskStatusColumn.tsx","../../../src/components/ListTasksPage/columns/TemplateTitleColumn.tsx","../../../src/components/ListTasksPage/ListTasksPage.tsx"],"sourcesContent":["/*\n * Copyright 2021 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 {\n EntityPicker,\n EntityPickerSchema,\n} from '../components/fields/EntityPicker/EntityPicker';\nimport {\n EntityNamePicker,\n EntityNamePickerSchema,\n} from '../components/fields/EntityNamePicker/EntityNamePicker';\nimport { entityNamePickerValidation } from '../components/fields/EntityNamePicker/validation';\nimport {\n EntityTagsPicker,\n EntityTagsPickerSchema,\n} from '../components/fields/EntityTagsPicker/EntityTagsPicker';\nimport {\n OwnerPicker,\n OwnerPickerSchema,\n} from '../components/fields/OwnerPicker/OwnerPicker';\nimport {\n RepoUrlPicker,\n RepoUrlPickerSchema,\n} from '../components/fields/RepoUrlPicker/RepoUrlPicker';\nimport { repoPickerValidation } from '../components/fields/RepoUrlPicker/validation';\nimport {\n OwnedEntityPicker,\n OwnedEntityPickerSchema,\n} from '../components/fields/OwnedEntityPicker/OwnedEntityPicker';\n\nexport const DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS = [\n {\n component: EntityPicker,\n name: 'EntityPicker',\n schema: EntityPickerSchema,\n },\n {\n component: EntityNamePicker,\n name: 'EntityNamePicker',\n validation: entityNamePickerValidation,\n schema: EntityNamePickerSchema,\n },\n {\n component: EntityTagsPicker,\n name: 'EntityTagsPicker',\n schema: EntityTagsPickerSchema,\n },\n {\n component: RepoUrlPicker,\n name: 'RepoUrlPicker',\n validation: repoPickerValidation,\n schema: RepoUrlPickerSchema,\n },\n {\n component: OwnerPicker,\n name: 'OwnerPicker',\n schema: OwnerPickerSchema,\n },\n {\n component: OwnedEntityPicker,\n name: 'OwnedEntityPicker',\n schema: OwnedEntityPickerSchema,\n },\n];\n","/*\n * Copyright 2022 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 { DateTime, Interval } from 'luxon';\nimport humanizeDuration from 'humanize-duration';\nimport React from 'react';\nimport Typography from '@material-ui/core/Typography';\n\nexport const CreatedAtColumn = ({ createdAt }: { createdAt: string }) => {\n const createdAtTime = DateTime.fromISO(createdAt);\n const formatted = Interval.fromDateTimes(createdAtTime, DateTime.local())\n .toDuration()\n .valueOf();\n\n return (\n <Typography paragraph>\n {humanizeDuration(formatted, { round: true })} ago\n </Typography>\n );\n};\n","/*\n * Copyright 2022 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 { useApi } from '@backstage/core-plugin-api';\nimport React from 'react';\n\nimport useAsync from 'react-use/lib/useAsync';\n\nimport { catalogApiRef, EntityRefLink } from '@backstage/plugin-catalog-react';\nimport { parseEntityRef, UserEntity } from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\n\nexport const OwnerEntityColumn = ({ entityRef }: { entityRef?: string }) => {\n const catalogApi = useApi(catalogApiRef);\n\n const { value, loading, error } = useAsync(\n () => catalogApi.getEntityByRef(entityRef || ''),\n [catalogApi, entityRef],\n );\n\n if (!entityRef) {\n return <Typography paragraph>Unknown</Typography>;\n }\n\n if (loading || error) {\n return null;\n }\n\n return (\n <EntityRefLink\n entityRef={parseEntityRef(entityRef)}\n title={\n (value as UserEntity)?.spec?.profile?.displayName ??\n value?.metadata.name\n }\n />\n );\n};\n","/*\n * Copyright 2022 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 {\n StatusError,\n StatusOK,\n StatusPending,\n} from '@backstage/core-components';\nimport React from 'react';\n\nexport const TaskStatusColumn = ({ status }: { status: string }) => {\n switch (status) {\n case 'processing':\n return <StatusPending>{status}</StatusPending>;\n case 'completed':\n return <StatusOK>{status}</StatusOK>;\n case 'error':\n default:\n return <StatusError>{status}</StatusError>;\n }\n};\n","/*\n * Copyright 2022 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 { useApi } from '@backstage/core-plugin-api';\nimport React from 'react';\nimport { scaffolderApiRef } from '@backstage/plugin-scaffolder-react';\nimport useAsync from 'react-use/lib/useAsync';\nimport { parseEntityRef } from '@backstage/catalog-model';\nimport { EntityRefLink } from '@backstage/plugin-catalog-react';\n\nexport const TemplateTitleColumn = ({ entityRef }: { entityRef?: string }) => {\n const scaffolder = useApi(scaffolderApiRef);\n const { value, loading, error } = useAsync(\n () => scaffolder.getTemplateParameterSchema(entityRef || ''),\n [scaffolder, entityRef],\n );\n\n if (loading || error || !entityRef) {\n return null;\n }\n\n return (\n <EntityRefLink entityRef={parseEntityRef(entityRef)} title={value?.title} />\n );\n};\n","/*\n * Copyright 2022 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 {\n Content,\n EmptyState,\n ErrorPanel,\n Header,\n Lifecycle,\n Link,\n Page,\n Progress,\n Table,\n} from '@backstage/core-components';\nimport { useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport { CatalogFilterLayout } from '@backstage/plugin-catalog-react';\nimport useAsync from 'react-use/lib/useAsync';\nimport React, { useState } from 'react';\nimport {\n ScaffolderTask,\n scaffolderApiRef,\n} from '@backstage/plugin-scaffolder-react';\nimport { OwnerListPicker } from './OwnerListPicker';\nimport {\n CreatedAtColumn,\n OwnerEntityColumn,\n TaskStatusColumn,\n TemplateTitleColumn,\n} from './columns';\nimport { rootRouteRef } from '../../routes';\n\nexport interface MyTaskPageProps {\n initiallySelectedFilter?: 'owned' | 'all';\n}\n\nconst ListTaskPageContent = (props: MyTaskPageProps) => {\n const { initiallySelectedFilter = 'owned' } = props;\n\n const scaffolderApi = useApi(scaffolderApiRef);\n const rootLink = useRouteRef(rootRouteRef);\n\n const [ownerFilter, setOwnerFilter] = useState(initiallySelectedFilter);\n const { value, loading, error } = useAsync(() => {\n if (scaffolderApi.listTasks) {\n return scaffolderApi.listTasks?.({ filterByOwnership: ownerFilter });\n }\n\n // eslint-disable-next-line no-console\n console.warn(\n 'listTasks is not implemented in the scaffolderApi, please make sure to implement this method.',\n );\n\n return Promise.resolve({ tasks: [] });\n }, [scaffolderApi, ownerFilter]);\n\n if (loading) {\n return <Progress />;\n }\n\n if (error) {\n return (\n <>\n <ErrorPanel error={error} />\n <EmptyState\n missing=\"info\"\n title=\"No information to display\"\n description=\"There is no Tasks or there was an issue communicating with backend.\"\n />\n </>\n );\n }\n\n return (\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <OwnerListPicker\n filter={ownerFilter}\n onSelectOwner={id => setOwnerFilter(id)}\n />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <Table<ScaffolderTask>\n data={value?.tasks ?? []}\n title=\"Tasks\"\n columns={[\n {\n title: 'Task ID',\n field: 'id',\n render: row => (\n <Link to={`${rootLink()}/tasks/${row.id}`}>{row.id}</Link>\n ),\n },\n {\n title: 'Template',\n render: row => (\n <TemplateTitleColumn\n entityRef={row.spec.templateInfo?.entityRef}\n />\n ),\n },\n {\n title: 'Created',\n field: 'createdAt',\n render: row => <CreatedAtColumn createdAt={row.createdAt} />,\n },\n {\n title: 'Owner',\n field: 'createdBy',\n render: row => (\n <OwnerEntityColumn entityRef={row.spec?.user?.ref} />\n ),\n },\n {\n title: 'Status',\n field: 'status',\n render: row => <TaskStatusColumn status={row.status} />,\n },\n ]}\n />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n );\n};\n\nexport const ListTasksPage = (props: MyTaskPageProps) => {\n return (\n <Page themeId=\"home\">\n <Header\n pageTitleOverride=\"Templates Tasks\"\n title={\n <>\n List template tasks <Lifecycle shorthand alpha />\n </>\n }\n subtitle=\"All tasks that have been started\"\n />\n <Content>\n <ListTaskPageContent {...props} />\n </Content>\n </Page>\n );\n};\n"],"names":["_a"],"mappings":"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"}
|