@backstage/plugin-scaffolder 1.30.0-next.0 → 1.30.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 +72 -0
- package/dist/alpha/components/TemplateEditorPage/CustomFieldExplorer.esm.js +98 -84
- package/dist/alpha/components/TemplateEditorPage/CustomFieldExplorer.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/CustomFieldPlaygroud.esm.js +119 -102
- package/dist/alpha/components/TemplateEditorPage/CustomFieldPlaygroud.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/CustomFieldsPage.esm.js +13 -10
- package/dist/alpha/components/TemplateEditorPage/CustomFieldsPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DirectoryEditorContext.esm.js +4 -3
- package/dist/alpha/components/TemplateEditorPage/DirectoryEditorContext.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunContext.esm.js +3 -2
- package/dist/alpha/components/TemplateEditorPage/DryRunContext.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResults.esm.js +22 -15
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResults.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsList.esm.js +49 -44
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsList.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsSplitView.esm.js +7 -2
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsSplitView.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsView.esm.js +79 -57
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResultsView.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/IconLink.esm.js +5 -2
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/IconLink.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/TaskPageLinks.esm.js +6 -6
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/TaskPageLinks.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/TaskStatusStepper.esm.js +40 -36
- package/dist/alpha/components/TemplateEditorPage/DryRunResults/TaskStatusStepper.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditor.esm.js +24 -17
- package/dist/alpha/components/TemplateEditorPage/TemplateEditor.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorBrowser.esm.js +50 -42
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorBrowser.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorForm.esm.js +5 -4
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorForm.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorIntro.esm.js +87 -70
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorIntro.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorLayout.esm.js +7 -7
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorLayout.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorPage.esm.js +20 -17
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorTextArea.esm.js +52 -45
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorTextArea.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbar.esm.js +76 -60
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbar.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbarFileMenu.esm.js +42 -36
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbarFileMenu.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbarTemplatesMenu.esm.js +42 -38
- package/dist/alpha/components/TemplateEditorPage/TemplateEditorToolbarTemplatesMenu.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateFormPage.esm.js +23 -19
- package/dist/alpha/components/TemplateEditorPage/TemplateFormPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateFormPreviewer.esm.js +39 -31
- package/dist/alpha/components/TemplateEditorPage/TemplateFormPreviewer.esm.js.map +1 -1
- package/dist/alpha/components/TemplateEditorPage/TemplateIntroPage.esm.js +14 -10
- package/dist/alpha/components/TemplateEditorPage/TemplateIntroPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateListPage/RegisterExistingButton.esm.js +6 -6
- package/dist/alpha/components/TemplateListPage/RegisterExistingButton.esm.js.map +1 -1
- package/dist/alpha/components/TemplateListPage/TemplateListPage.esm.js +54 -34
- package/dist/alpha/components/TemplateListPage/TemplateListPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPage.esm.js +29 -24
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPageContextMenu.esm.js +40 -33
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPageContextMenu.esm.js.map +1 -1
- package/dist/alpha/extensions.esm.js +2 -2
- package/dist/alpha/extensions.esm.js.map +1 -1
- package/dist/alpha/fields/RepoUrlPicker.esm.js +1 -1
- package/dist/alpha.d.ts +12 -12
- package/dist/components/ActionsPage/ActionsPage.esm.js +120 -167
- package/dist/components/ActionsPage/ActionsPage.esm.js.map +1 -1
- package/dist/components/FileBrowser/FileBrowser.esm.js +10 -9
- package/dist/components/FileBrowser/FileBrowser.esm.js.map +1 -1
- package/dist/components/ListTasksPage/ListTasksPage.esm.js +80 -70
- package/dist/components/ListTasksPage/ListTasksPage.esm.js.map +1 -1
- package/dist/components/ListTasksPage/OwnerListPicker.esm.js +29 -23
- package/dist/components/ListTasksPage/OwnerListPicker.esm.js.map +1 -1
- package/dist/components/ListTasksPage/columns/CreatedAtColumn.esm.js +2 -2
- package/dist/components/ListTasksPage/columns/CreatedAtColumn.esm.js.map +1 -1
- package/dist/components/ListTasksPage/columns/OwnerEntityColumn.esm.js +3 -3
- package/dist/components/ListTasksPage/columns/OwnerEntityColumn.esm.js.map +1 -1
- package/dist/components/ListTasksPage/columns/TaskStatusColumn.esm.js +4 -4
- package/dist/components/ListTasksPage/columns/TaskStatusColumn.esm.js.map +1 -1
- package/dist/components/ListTasksPage/columns/TemplateTitleColumn.esm.js +2 -2
- package/dist/components/ListTasksPage/columns/TemplateTitleColumn.esm.js.map +1 -1
- package/dist/components/OngoingTask/ContextMenu.esm.js +80 -58
- package/dist/components/OngoingTask/ContextMenu.esm.js.map +1 -1
- package/dist/components/OngoingTask/OngoingTask.esm.js +95 -76
- package/dist/components/OngoingTask/OngoingTask.esm.js.map +1 -1
- package/dist/components/RenderSchema/RenderSchema.esm.js +379 -0
- package/dist/components/RenderSchema/RenderSchema.esm.js.map +1 -0
- package/dist/components/Router/Router.esm.js +105 -94
- package/dist/components/Router/Router.esm.js.map +1 -1
- package/dist/components/ScaffolderUsageExamplesTable/ScaffolderUsageExamplesTable.esm.js +28 -0
- package/dist/components/ScaffolderUsageExamplesTable/ScaffolderUsageExamplesTable.esm.js.map +1 -0
- package/dist/components/TemplateTypePicker/TemplateTypePicker.esm.js +42 -39
- package/dist/components/TemplateTypePicker/TemplateTypePicker.esm.js.map +1 -1
- package/dist/components/fields/EntityNamePicker/EntityNamePicker.esm.js +2 -2
- package/dist/components/fields/EntityNamePicker/EntityNamePicker.esm.js.map +1 -1
- package/dist/components/fields/EntityPicker/EntityPicker.esm.js +41 -40
- package/dist/components/fields/EntityPicker/EntityPicker.esm.js.map +1 -1
- package/dist/components/fields/EntityTagsPicker/EntityTagsPicker.esm.js +5 -4
- package/dist/components/fields/EntityTagsPicker/EntityTagsPicker.esm.js.map +1 -1
- package/dist/components/fields/MultiEntityPicker/MultiEntityPicker.esm.js +45 -44
- package/dist/components/fields/MultiEntityPicker/MultiEntityPicker.esm.js.map +1 -1
- package/dist/components/fields/MyGroupsPicker/MyGroupsPicker.esm.js +36 -35
- package/dist/components/fields/MyGroupsPicker/MyGroupsPicker.esm.js.map +1 -1
- package/dist/components/fields/OwnedEntityPicker/OwnedEntityPicker.esm.js +4 -4
- package/dist/components/fields/OwnedEntityPicker/OwnedEntityPicker.esm.js.map +1 -1
- package/dist/components/fields/OwnerPicker/OwnerPicker.esm.js +2 -2
- package/dist/components/fields/OwnerPicker/OwnerPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoBranchPicker/BitbucketRepoBranchPicker.esm.js +26 -23
- package/dist/components/fields/RepoBranchPicker/BitbucketRepoBranchPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoBranchPicker/DefaultRepoBranchPicker.esm.js +17 -15
- package/dist/components/fields/RepoBranchPicker/DefaultRepoBranchPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.esm.js +26 -23
- package/dist/components/fields/RepoBranchPicker/GitHubRepoBranchPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoBranchPicker/RepoBranchPicker.esm.js +13 -5
- package/dist/components/fields/RepoBranchPicker/RepoBranchPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/AzureRepoPicker.esm.js +62 -53
- package/dist/components/fields/RepoUrlPicker/AzureRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/BitbucketRepoPicker.esm.js +85 -77
- package/dist/components/fields/RepoUrlPicker/BitbucketRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/GerritRepoPicker.esm.js +28 -25
- package/dist/components/fields/RepoUrlPicker/GerritRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/GiteaRepoPicker.esm.js +33 -30
- package/dist/components/fields/RepoUrlPicker/GiteaRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/GithubRepoPicker.esm.js +37 -34
- package/dist/components/fields/RepoUrlPicker/GithubRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/GitlabRepoPicker.esm.js +41 -37
- package/dist/components/fields/RepoUrlPicker/GitlabRepoPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/RepoUrlPicker.esm.js +98 -83
- package/dist/components/fields/RepoUrlPicker/RepoUrlPicker.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/RepoUrlPickerHost.esm.js +22 -19
- package/dist/components/fields/RepoUrlPicker/RepoUrlPickerHost.esm.js.map +1 -1
- package/dist/components/fields/RepoUrlPicker/RepoUrlPickerRepoName.esm.js +42 -39
- package/dist/components/fields/RepoUrlPicker/RepoUrlPickerRepoName.esm.js.map +1 -1
- package/dist/components/fields/SecretInput/SecretInput.esm.js +5 -5
- package/dist/components/fields/SecretInput/SecretInput.esm.js.map +1 -1
- package/dist/components/fields/VirtualizedListbox.esm.js +29 -26
- package/dist/components/fields/VirtualizedListbox.esm.js.map +1 -1
- package/dist/index.d.ts +17 -16
- package/dist/translation.esm.js +12 -10
- package/dist/translation.esm.js.map +1 -1
- package/package.json +18 -18
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import FormControl from '@material-ui/core/FormControl';
|
|
3
3
|
import TextField from '@material-ui/core/TextField';
|
|
4
4
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
@@ -8,35 +8,38 @@ const GerritRepoPicker = (props) => {
|
|
|
8
8
|
const { onChange, rawErrors, state, isDisabled } = props;
|
|
9
9
|
const { t } = useTranslationRef(scaffolderTranslationRef);
|
|
10
10
|
const { workspace, owner } = state;
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
id: "ownerInput",
|
|
15
|
-
label: t("fields.gerritRepoPicker.owner.title"),
|
|
16
|
-
onChange: (e) => onChange({ owner: e.target.value }),
|
|
17
|
-
helperText: t("fields.gerritRepoPicker.owner.description"),
|
|
18
|
-
disabled: isDisabled,
|
|
19
|
-
value: owner
|
|
20
|
-
}
|
|
21
|
-
)), /* @__PURE__ */ React.createElement(
|
|
22
|
-
FormControl,
|
|
23
|
-
{
|
|
24
|
-
margin: "normal",
|
|
25
|
-
required: true,
|
|
26
|
-
error: rawErrors?.length > 0 && !workspace
|
|
27
|
-
},
|
|
28
|
-
/* @__PURE__ */ React.createElement(
|
|
11
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
12
|
+
/* @__PURE__ */ jsx(FormControl, { margin: "normal", error: rawErrors?.length > 0 && !workspace, children: /* @__PURE__ */ jsx(
|
|
29
13
|
TextField,
|
|
30
14
|
{
|
|
31
|
-
id: "
|
|
32
|
-
label: t("fields.gerritRepoPicker.
|
|
33
|
-
onChange: (e) => onChange({
|
|
15
|
+
id: "ownerInput",
|
|
16
|
+
label: t("fields.gerritRepoPicker.owner.title"),
|
|
17
|
+
onChange: (e) => onChange({ owner: e.target.value }),
|
|
18
|
+
helperText: t("fields.gerritRepoPicker.owner.description"),
|
|
34
19
|
disabled: isDisabled,
|
|
35
|
-
value:
|
|
36
|
-
|
|
20
|
+
value: owner
|
|
21
|
+
}
|
|
22
|
+
) }),
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
FormControl,
|
|
25
|
+
{
|
|
26
|
+
margin: "normal",
|
|
27
|
+
required: true,
|
|
28
|
+
error: rawErrors?.length > 0 && !workspace,
|
|
29
|
+
children: /* @__PURE__ */ jsx(
|
|
30
|
+
TextField,
|
|
31
|
+
{
|
|
32
|
+
id: "parentInput",
|
|
33
|
+
label: t("fields.gerritRepoPicker.parent.title"),
|
|
34
|
+
onChange: (e) => onChange({ workspace: e.target.value }),
|
|
35
|
+
disabled: isDisabled,
|
|
36
|
+
value: workspace,
|
|
37
|
+
helperText: t("fields.gerritRepoPicker.parent.description")
|
|
38
|
+
}
|
|
39
|
+
)
|
|
37
40
|
}
|
|
38
41
|
)
|
|
39
|
-
)
|
|
42
|
+
] });
|
|
40
43
|
};
|
|
41
44
|
|
|
42
45
|
export { GerritRepoPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GerritRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx"],"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 */\nimport
|
|
1
|
+
{"version":3,"file":"GerritRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GerritRepoPicker.tsx"],"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 */\nimport FormControl from '@material-ui/core/FormControl';\nimport TextField from '@material-ui/core/TextField';\nimport { BaseRepoUrlPickerProps } from './types';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderTranslationRef } from '../../../translation';\n\nexport const GerritRepoPicker = (props: BaseRepoUrlPickerProps) => {\n const { onChange, rawErrors, state, isDisabled } = props;\n const { t } = useTranslationRef(scaffolderTranslationRef);\n const { workspace, owner } = state;\n return (\n <>\n <FormControl margin=\"normal\" error={rawErrors?.length > 0 && !workspace}>\n <TextField\n id=\"ownerInput\"\n label={t('fields.gerritRepoPicker.owner.title')}\n onChange={e => onChange({ owner: e.target.value })}\n helperText={t('fields.gerritRepoPicker.owner.description')}\n disabled={isDisabled}\n value={owner}\n />\n </FormControl>\n <FormControl\n margin=\"normal\"\n required\n error={rawErrors?.length > 0 && !workspace}\n >\n <TextField\n id=\"parentInput\"\n label={t('fields.gerritRepoPicker.parent.title')}\n onChange={e => onChange({ workspace: e.target.value })}\n disabled={isDisabled}\n value={workspace}\n helperText={t('fields.gerritRepoPicker.parent.description')}\n />\n </FormControl>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;AAqBa,MAAA,gBAAA,GAAmB,CAAC,KAAkC,KAAA;AACjE,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,KAAA,EAAO,YAAe,GAAA,KAAA;AACnD,EAAA,MAAM,EAAE,CAAA,EAAM,GAAA,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAM,MAAA,EAAE,SAAW,EAAA,KAAA,EAAU,GAAA,KAAA;AAC7B,EAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,WAAA,EAAA,EAAY,QAAO,QAAS,EAAA,KAAA,EAAO,WAAW,MAAS,GAAA,CAAA,IAAK,CAAC,SAC5D,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,EAAG,EAAA,YAAA;AAAA,QACH,KAAA,EAAO,EAAE,qCAAqC,CAAA;AAAA,QAC9C,QAAA,EAAU,OAAK,QAAS,CAAA,EAAE,OAAO,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,QACjD,UAAA,EAAY,EAAE,2CAA2C,CAAA;AAAA,QACzD,QAAU,EAAA,UAAA;AAAA,QACV,KAAO,EAAA;AAAA;AAAA,KAEX,EAAA,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,MAAO,EAAA,QAAA;AAAA,QACP,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA,SAAA,EAAW,MAAS,GAAA,CAAA,IAAK,CAAC,SAAA;AAAA,QAEjC,QAAA,kBAAA,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,EAAG,EAAA,aAAA;AAAA,YACH,KAAA,EAAO,EAAE,sCAAsC,CAAA;AAAA,YAC/C,QAAA,EAAU,OAAK,QAAS,CAAA,EAAE,WAAW,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,YACrD,QAAU,EAAA,UAAA;AAAA,YACV,KAAO,EAAA,SAAA;AAAA,YACP,UAAA,EAAY,EAAE,4CAA4C;AAAA;AAAA;AAC5D;AAAA;AACF,GACF,EAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import FormControl from '@material-ui/core/FormControl';
|
|
3
3
|
import FormHelperText from '@material-ui/core/FormHelperText';
|
|
4
4
|
import TextField from '@material-ui/core/TextField';
|
|
@@ -11,39 +11,42 @@ const GiteaRepoPicker = (props) => {
|
|
|
11
11
|
const { t } = useTranslationRef(scaffolderTranslationRef);
|
|
12
12
|
const ownerItems = allowedOwners ? allowedOwners.map((i) => ({ label: i, value: i })) : [{ label: "Loading...", value: "loading" }];
|
|
13
13
|
const { owner } = state;
|
|
14
|
-
return /* @__PURE__ */
|
|
14
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
15
15
|
FormControl,
|
|
16
16
|
{
|
|
17
17
|
margin: "normal",
|
|
18
18
|
required: true,
|
|
19
|
-
error: rawErrors?.length > 0 && !owner
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
19
|
+
error: rawErrors?.length > 0 && !owner,
|
|
20
|
+
children: allowedOwners?.length ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
21
|
+
/* @__PURE__ */ jsx(
|
|
22
|
+
Select,
|
|
23
|
+
{
|
|
24
|
+
native: true,
|
|
25
|
+
label: t("fields.giteaRepoPicker.owner.title"),
|
|
26
|
+
onChange: (selected) => onChange({
|
|
27
|
+
owner: String(
|
|
28
|
+
Array.isArray(selected) ? selected[0] : selected
|
|
29
|
+
)
|
|
30
|
+
}),
|
|
31
|
+
disabled: isDisabled || allowedOwners.length === 1,
|
|
32
|
+
selected: owner,
|
|
33
|
+
items: ownerItems
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx(FormHelperText, { children: t("fields.giteaRepoPicker.owner.description") })
|
|
37
|
+
] }) : /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
38
|
+
TextField,
|
|
39
|
+
{
|
|
40
|
+
id: "ownerInput",
|
|
41
|
+
label: t("fields.giteaRepoPicker.owner.inputTitle"),
|
|
42
|
+
onChange: (e) => onChange({ owner: e.target.value }),
|
|
43
|
+
helperText: t("fields.giteaRepoPicker.owner.description"),
|
|
44
|
+
disabled: isDisabled,
|
|
45
|
+
value: owner
|
|
46
|
+
}
|
|
47
|
+
) })
|
|
48
|
+
}
|
|
49
|
+
) });
|
|
47
50
|
};
|
|
48
51
|
|
|
49
52
|
export { GiteaRepoPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiteaRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GiteaRepoPicker.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
|
|
1
|
+
{"version":3,"file":"GiteaRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GiteaRepoPicker.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 FormControl from '@material-ui/core/FormControl';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport TextField from '@material-ui/core/TextField';\nimport { Select, SelectItem } from '@backstage/core-components';\nimport { BaseRepoUrlPickerProps } from './types';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderTranslationRef } from '../../../translation';\n\nexport const GiteaRepoPicker = (\n props: BaseRepoUrlPickerProps<{\n allowedOwners?: string[];\n allowedRepos?: string[];\n }>,\n) => {\n const { allowedOwners = [], state, onChange, rawErrors, isDisabled } = props;\n const { t } = useTranslationRef(scaffolderTranslationRef);\n const ownerItems: SelectItem[] = allowedOwners\n ? allowedOwners.map(i => ({ label: i, value: i }))\n : [{ label: 'Loading...', value: 'loading' }];\n\n const { owner } = state;\n\n return (\n <>\n <FormControl\n margin=\"normal\"\n required\n error={rawErrors?.length > 0 && !owner}\n >\n {allowedOwners?.length ? (\n <>\n <Select\n native\n label={t('fields.giteaRepoPicker.owner.title')}\n onChange={selected =>\n onChange({\n owner: String(\n Array.isArray(selected) ? selected[0] : selected,\n ),\n })\n }\n disabled={isDisabled || allowedOwners.length === 1}\n selected={owner}\n items={ownerItems}\n />\n <FormHelperText>\n {t('fields.giteaRepoPicker.owner.description')}\n </FormHelperText>\n </>\n ) : (\n <>\n <TextField\n id=\"ownerInput\"\n label={t('fields.giteaRepoPicker.owner.inputTitle')}\n onChange={e => onChange({ owner: e.target.value })}\n helperText={t('fields.giteaRepoPicker.owner.description')}\n disabled={isDisabled}\n value={owner}\n />\n </>\n )}\n </FormControl>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAuBa,MAAA,eAAA,GAAkB,CAC7B,KAIG,KAAA;AACH,EAAM,MAAA,EAAE,gBAAgB,EAAC,EAAG,OAAO,QAAU,EAAA,SAAA,EAAW,YAAe,GAAA,KAAA;AACvE,EAAA,MAAM,EAAE,CAAA,EAAM,GAAA,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,aAA2B,aAC7B,GAAA,aAAA,CAAc,IAAI,CAAM,CAAA,MAAA,EAAE,OAAO,CAAG,EAAA,KAAA,EAAO,CAAE,EAAA,CAAE,IAC/C,CAAC,EAAE,OAAO,YAAc,EAAA,KAAA,EAAO,WAAW,CAAA;AAE9C,EAAM,MAAA,EAAE,OAAU,GAAA,KAAA;AAElB,EAAA,uBAEI,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,MAAO,EAAA,QAAA;AAAA,MACP,QAAQ,EAAA,IAAA;AAAA,MACR,KAAO,EAAA,SAAA,EAAW,MAAS,GAAA,CAAA,IAAK,CAAC,KAAA;AAAA,MAEhC,QAAA,EAAA,aAAA,EAAe,yBAEZ,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,MAAM,EAAA,IAAA;AAAA,YACN,KAAA,EAAO,EAAE,oCAAoC,CAAA;AAAA,YAC7C,QAAA,EAAU,cACR,QAAS,CAAA;AAAA,cACP,KAAO,EAAA,MAAA;AAAA,gBACL,MAAM,OAAQ,CAAA,QAAQ,CAAI,GAAA,QAAA,CAAS,CAAC,CAAI,GAAA;AAAA;AAC1C,aACD,CAAA;AAAA,YAEH,QAAA,EAAU,UAAc,IAAA,aAAA,CAAc,MAAW,KAAA,CAAA;AAAA,YACjD,QAAU,EAAA,KAAA;AAAA,YACV,KAAO,EAAA;AAAA;AAAA,SACT;AAAA,wBACC,GAAA,CAAA,cAAA,EAAA,EACE,QAAE,EAAA,CAAA,CAAA,0CAA0C,CAC/C,EAAA;AAAA,OAAA,EACF,oBAGE,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,QAAC,SAAA;AAAA,QAAA;AAAA,UACC,EAAG,EAAA,YAAA;AAAA,UACH,KAAA,EAAO,EAAE,yCAAyC,CAAA;AAAA,UAClD,QAAA,EAAU,OAAK,QAAS,CAAA,EAAE,OAAO,CAAE,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA,UACjD,UAAA,EAAY,EAAE,0CAA0C,CAAA;AAAA,UACxD,QAAU,EAAA,UAAA;AAAA,UACV,KAAO,EAAA;AAAA;AAAA,OAEX,EAAA;AAAA;AAAA,GAGN,EAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
2
3
|
import FormControl from '@material-ui/core/FormControl';
|
|
3
4
|
import FormHelperText from '@material-ui/core/FormHelperText';
|
|
4
5
|
import TextField from '@material-ui/core/TextField';
|
|
@@ -61,47 +62,49 @@ const GithubRepoPicker = (props) => {
|
|
|
61
62
|
onChange({ availableRepos });
|
|
62
63
|
}, [availableRepositoriesWithOwner, owner, onChange]);
|
|
63
64
|
useDebounce(updateAvailableRepositories, 500, [updateAvailableRepositories]);
|
|
64
|
-
return /* @__PURE__ */
|
|
65
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
|
|
65
66
|
FormControl,
|
|
66
67
|
{
|
|
67
68
|
margin: "normal",
|
|
68
69
|
required: true,
|
|
69
|
-
error: rawErrors?.length > 0 && !owner
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
{
|
|
74
|
-
native: true,
|
|
75
|
-
label: t("fields.githubRepoPicker.owner.title"),
|
|
76
|
-
onChange: (s) => onChange({ owner: String(Array.isArray(s) ? s[0] : s) }),
|
|
77
|
-
disabled: isDisabled || allowedOwners.length === 1,
|
|
78
|
-
selected: owner,
|
|
79
|
-
items: ownerItems
|
|
80
|
-
}
|
|
81
|
-
)) : /* @__PURE__ */ React.createElement(
|
|
82
|
-
Autocomplete,
|
|
83
|
-
{
|
|
84
|
-
value: owner,
|
|
85
|
-
onChange: (_, newValue) => {
|
|
86
|
-
onChange({ owner: newValue || "" });
|
|
87
|
-
},
|
|
88
|
-
options: availableOwners,
|
|
89
|
-
renderInput: (params) => /* @__PURE__ */ React.createElement(
|
|
90
|
-
TextField,
|
|
70
|
+
error: rawErrors?.length > 0 && !owner,
|
|
71
|
+
children: [
|
|
72
|
+
allowedOwners?.length ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
73
|
+
Select,
|
|
91
74
|
{
|
|
92
|
-
|
|
93
|
-
label: t("fields.githubRepoPicker.owner.
|
|
75
|
+
native: true,
|
|
76
|
+
label: t("fields.githubRepoPicker.owner.title"),
|
|
77
|
+
onChange: (s) => onChange({ owner: String(Array.isArray(s) ? s[0] : s) }),
|
|
78
|
+
disabled: isDisabled || allowedOwners.length === 1,
|
|
79
|
+
selected: owner,
|
|
80
|
+
items: ownerItems
|
|
81
|
+
}
|
|
82
|
+
) }) : /* @__PURE__ */ jsx(
|
|
83
|
+
Autocomplete,
|
|
84
|
+
{
|
|
85
|
+
value: owner,
|
|
86
|
+
onChange: (_, newValue) => {
|
|
87
|
+
onChange({ owner: newValue || "" });
|
|
88
|
+
},
|
|
89
|
+
options: availableOwners,
|
|
90
|
+
renderInput: (params) => /* @__PURE__ */ jsx(
|
|
91
|
+
TextField,
|
|
92
|
+
{
|
|
93
|
+
...params,
|
|
94
|
+
label: t("fields.githubRepoPicker.owner.inputTitle"),
|
|
95
|
+
disabled: isDisabled,
|
|
96
|
+
required: true
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
freeSolo: true,
|
|
94
100
|
disabled: isDisabled,
|
|
95
|
-
|
|
101
|
+
autoSelect: true
|
|
96
102
|
}
|
|
97
103
|
),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
),
|
|
103
|
-
/* @__PURE__ */ React.createElement(FormHelperText, null, t("fields.githubRepoPicker.owner.description"))
|
|
104
|
-
));
|
|
104
|
+
/* @__PURE__ */ jsx(FormHelperText, { children: t("fields.githubRepoPicker.owner.description") })
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
) });
|
|
105
108
|
};
|
|
106
109
|
|
|
107
110
|
export { GithubRepoPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GithubRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GithubRepoPicker.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
|
|
1
|
+
{"version":3,"file":"GithubRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GithubRepoPicker.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 { useCallback, useMemo, useState } from 'react';\nimport FormControl from '@material-ui/core/FormControl';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport TextField from '@material-ui/core/TextField';\nimport { Select, SelectItem } from '@backstage/core-components';\nimport { BaseRepoUrlPickerProps } from './types';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderTranslationRef } from '../../../translation';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { scaffolderApiRef } from '@backstage/plugin-scaffolder-react';\nimport useDebounce from 'react-use/esm/useDebounce';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport uniq from 'lodash/uniq';\nimport map from 'lodash/map';\n\nexport const GithubRepoPicker = (\n props: BaseRepoUrlPickerProps<{\n allowedOwners?: string[];\n accessToken?: string;\n }>,\n) => {\n const {\n allowedOwners = [],\n rawErrors,\n state,\n onChange,\n accessToken,\n isDisabled,\n } = props;\n const { t } = useTranslationRef(scaffolderTranslationRef);\n const ownerItems: SelectItem[] = allowedOwners\n ? allowedOwners.map(i => ({ label: i, value: i }))\n : [{ label: 'Loading...', value: 'loading' }];\n\n const { host, owner } = state;\n\n const scaffolderApi = useApi(scaffolderApiRef);\n\n const [availableRepositoriesWithOwner, setAvailableRepositoriesWithOwner] =\n useState<{ owner: string; name: string }[]>([]);\n\n // Update available repositories with owner when client is available\n const updateAvailableRepositoriesWithOwner = useCallback(() => {\n if (!scaffolderApi.autocomplete || !accessToken || !host) {\n setAvailableRepositoriesWithOwner([]);\n return;\n }\n\n scaffolderApi\n .autocomplete({\n token: accessToken,\n resource: 'repositoriesWithOwner',\n provider: 'github',\n context: { host },\n })\n .then(({ results }) => {\n setAvailableRepositoriesWithOwner(\n results.map(r => {\n const [rOwner, rName] = r.id.split('/');\n return { owner: rOwner, name: rName };\n }),\n );\n })\n .catch(() => {\n setAvailableRepositoriesWithOwner([]);\n });\n }, [scaffolderApi, accessToken, host]);\n\n useDebounce(updateAvailableRepositoriesWithOwner, 500, [\n updateAvailableRepositoriesWithOwner,\n ]);\n\n // Update available owners when available repositories with owner change\n const availableOwners = useMemo<string[]>(\n () => uniq(map(availableRepositoriesWithOwner, 'owner')),\n [availableRepositoriesWithOwner],\n );\n\n // Update available repositories when available repositories with owner change or when owner changes\n const updateAvailableRepositories = useCallback(() => {\n const availableRepos = availableRepositoriesWithOwner.flatMap(r =>\n r.owner === owner ? [{ name: r.name }] : [],\n );\n\n onChange({ availableRepos });\n }, [availableRepositoriesWithOwner, owner, onChange]);\n\n useDebounce(updateAvailableRepositories, 500, [updateAvailableRepositories]);\n\n return (\n <>\n <FormControl\n margin=\"normal\"\n required\n error={rawErrors?.length > 0 && !owner}\n >\n {allowedOwners?.length ? (\n <>\n <Select\n native\n label={t('fields.githubRepoPicker.owner.title')}\n onChange={s =>\n onChange({ owner: String(Array.isArray(s) ? s[0] : s) })\n }\n disabled={isDisabled || allowedOwners.length === 1}\n selected={owner}\n items={ownerItems}\n />\n </>\n ) : (\n <Autocomplete\n value={owner}\n onChange={(_, newValue) => {\n onChange({ owner: newValue || '' });\n }}\n options={availableOwners}\n renderInput={params => (\n <TextField\n {...params}\n label={t('fields.githubRepoPicker.owner.inputTitle')}\n disabled={isDisabled}\n required\n />\n )}\n freeSolo\n disabled={isDisabled}\n autoSelect\n />\n )}\n <FormHelperText>\n {t('fields.githubRepoPicker.owner.description')}\n </FormHelperText>\n </FormControl>\n </>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
1
2
|
import { Select } from '@backstage/core-components';
|
|
2
3
|
import { useApi } from '@backstage/core-plugin-api';
|
|
3
4
|
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
@@ -6,7 +7,7 @@ import FormControl from '@material-ui/core/FormControl';
|
|
|
6
7
|
import FormHelperText from '@material-ui/core/FormHelperText';
|
|
7
8
|
import TextField from '@material-ui/core/TextField';
|
|
8
9
|
import Autocomplete from '@material-ui/lab/Autocomplete';
|
|
9
|
-
import
|
|
10
|
+
import { useState, useCallback } from 'react';
|
|
10
11
|
import useDebounce from 'react-use/esm/useDebounce';
|
|
11
12
|
import { scaffolderTranslationRef } from '../../../translation.esm.js';
|
|
12
13
|
|
|
@@ -73,50 +74,53 @@ const GitlabRepoPicker = (props) => {
|
|
|
73
74
|
});
|
|
74
75
|
}, [scaffolderApi, accessToken, host, owner, onChange, availableGroups]);
|
|
75
76
|
useDebounce(updateAvailableRepositories, 500, [updateAvailableRepositories]);
|
|
76
|
-
return /* @__PURE__ */
|
|
77
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
77
78
|
FormControl,
|
|
78
79
|
{
|
|
79
80
|
margin: "normal",
|
|
80
81
|
required: true,
|
|
81
|
-
error: rawErrors?.length > 0 && !owner
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
{
|
|
86
|
-
native: true,
|
|
87
|
-
label: t("fields.gitlabRepoPicker.owner.title"),
|
|
88
|
-
onChange: (selected) => onChange({
|
|
89
|
-
owner: String(
|
|
90
|
-
Array.isArray(selected) ? selected[0] : selected
|
|
91
|
-
)
|
|
92
|
-
}),
|
|
93
|
-
disabled: isDisabled || allowedOwners.length === 1,
|
|
94
|
-
selected: owner,
|
|
95
|
-
items: ownerItems
|
|
96
|
-
}
|
|
97
|
-
), /* @__PURE__ */ React.createElement(FormHelperText, null, t("fields.gitlabRepoPicker.owner.description"))) : /* @__PURE__ */ React.createElement(
|
|
98
|
-
Autocomplete,
|
|
99
|
-
{
|
|
100
|
-
value: owner,
|
|
101
|
-
onChange: (_, newValue) => {
|
|
102
|
-
onChange({ owner: newValue || "" });
|
|
103
|
-
},
|
|
104
|
-
options: availableGroups.map((group) => group.title),
|
|
105
|
-
renderInput: (params) => /* @__PURE__ */ React.createElement(
|
|
106
|
-
TextField,
|
|
82
|
+
error: rawErrors?.length > 0 && !owner,
|
|
83
|
+
children: allowedOwners?.length ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
Select,
|
|
107
86
|
{
|
|
108
|
-
|
|
87
|
+
native: true,
|
|
109
88
|
label: t("fields.gitlabRepoPicker.owner.title"),
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
onChange: (selected) => onChange({
|
|
90
|
+
owner: String(
|
|
91
|
+
Array.isArray(selected) ? selected[0] : selected
|
|
92
|
+
)
|
|
93
|
+
}),
|
|
94
|
+
disabled: isDisabled || allowedOwners.length === 1,
|
|
95
|
+
selected: owner,
|
|
96
|
+
items: ownerItems
|
|
112
97
|
}
|
|
113
98
|
),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
99
|
+
/* @__PURE__ */ jsx(FormHelperText, { children: t("fields.gitlabRepoPicker.owner.description") })
|
|
100
|
+
] }) : /* @__PURE__ */ jsx(
|
|
101
|
+
Autocomplete,
|
|
102
|
+
{
|
|
103
|
+
value: owner,
|
|
104
|
+
onChange: (_, newValue) => {
|
|
105
|
+
onChange({ owner: newValue || "" });
|
|
106
|
+
},
|
|
107
|
+
options: availableGroups.map((group) => group.title),
|
|
108
|
+
renderInput: (params) => /* @__PURE__ */ jsx(
|
|
109
|
+
TextField,
|
|
110
|
+
{
|
|
111
|
+
...params,
|
|
112
|
+
label: t("fields.gitlabRepoPicker.owner.title"),
|
|
113
|
+
disabled: isDisabled,
|
|
114
|
+
required: true
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
freeSolo: true,
|
|
118
|
+
disabled: isDisabled,
|
|
119
|
+
autoSelect: true
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
) });
|
|
120
124
|
};
|
|
121
125
|
|
|
122
126
|
export { GitlabRepoPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitlabRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GitlabRepoPicker.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 { Select, SelectItem } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderApiRef } from '@backstage/plugin-scaffolder-react';\nimport FormControl from '@material-ui/core/FormControl';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport TextField from '@material-ui/core/TextField';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport
|
|
1
|
+
{"version":3,"file":"GitlabRepoPicker.esm.js","sources":["../../../../src/components/fields/RepoUrlPicker/GitlabRepoPicker.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 { Select, SelectItem } from '@backstage/core-components';\nimport { useApi } from '@backstage/core-plugin-api';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderApiRef } from '@backstage/plugin-scaffolder-react';\nimport FormControl from '@material-ui/core/FormControl';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport TextField from '@material-ui/core/TextField';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport { useCallback, useState } from 'react';\nimport useDebounce from 'react-use/esm/useDebounce';\nimport { scaffolderTranslationRef } from '../../../translation';\nimport { BaseRepoUrlPickerProps } from './types';\n\nexport const GitlabRepoPicker = (\n props: BaseRepoUrlPickerProps<{\n allowedOwners?: string[];\n allowedRepos?: string[];\n accessToken?: string;\n }>,\n) => {\n const {\n allowedOwners = [],\n state,\n onChange,\n rawErrors,\n accessToken,\n isDisabled,\n } = props;\n const [availableGroups, setAvailableGroups] = useState<\n { title: string; id: string }[]\n >([]);\n const { t } = useTranslationRef(scaffolderTranslationRef);\n const ownerItems: SelectItem[] = allowedOwners\n ? allowedOwners.map(i => ({ label: i, value: i }))\n : [{ label: 'Loading...', value: 'loading' }];\n\n const { owner, host } = state;\n\n const scaffolderApi = useApi(scaffolderApiRef);\n\n const updateAvailableGroups = useCallback(() => {\n if (!scaffolderApi.autocomplete || !accessToken || !host) {\n setAvailableGroups([]);\n return;\n }\n\n scaffolderApi\n .autocomplete({\n token: accessToken,\n resource: 'groups',\n provider: 'gitlab',\n context: { host },\n })\n .then(({ results }) => {\n setAvailableGroups(\n results.map(r => {\n return {\n title: r.title!,\n id: r.id,\n };\n }),\n );\n })\n .catch(() => {\n setAvailableGroups([]);\n });\n }, [scaffolderApi, accessToken, host]);\n\n useDebounce(updateAvailableGroups, 500, [updateAvailableGroups]);\n\n // Update available repositories when client is available and group changes\n const updateAvailableRepositories = useCallback(() => {\n if (!scaffolderApi.autocomplete || !accessToken || !host || !owner) {\n onChange({ availableRepos: [] });\n return;\n }\n\n const selectedGroup = availableGroups.find(group => group.title === owner);\n\n scaffolderApi\n .autocomplete({\n token: accessToken,\n resource: 'repositories',\n context: {\n id: selectedGroup?.id ?? '',\n host,\n },\n provider: 'gitlab',\n })\n .then(({ results }) => {\n onChange({\n availableRepos: results.map(r => {\n return { name: r.title!, id: r.id };\n }),\n });\n })\n .catch(() => {\n onChange({ availableRepos: [] });\n });\n }, [scaffolderApi, accessToken, host, owner, onChange, availableGroups]);\n\n useDebounce(updateAvailableRepositories, 500, [updateAvailableRepositories]);\n\n return (\n <>\n <FormControl\n margin=\"normal\"\n required\n error={rawErrors?.length > 0 && !owner}\n >\n {allowedOwners?.length ? (\n <>\n <Select\n native\n label={t('fields.gitlabRepoPicker.owner.title')}\n onChange={selected =>\n onChange({\n owner: String(\n Array.isArray(selected) ? selected[0] : selected,\n ),\n })\n }\n disabled={isDisabled || allowedOwners.length === 1}\n selected={owner}\n items={ownerItems}\n />\n <FormHelperText>\n {t('fields.gitlabRepoPicker.owner.description')}\n </FormHelperText>\n </>\n ) : (\n <Autocomplete\n value={owner}\n onChange={(_, newValue) => {\n onChange({ owner: newValue || '' });\n }}\n options={availableGroups.map(group => group.title)}\n renderInput={params => (\n <TextField\n {...params}\n label={t('fields.gitlabRepoPicker.owner.title')}\n disabled={isDisabled}\n required\n />\n )}\n freeSolo\n disabled={isDisabled}\n autoSelect\n />\n )}\n </FormControl>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AA4Ba,MAAA,gBAAA,GAAmB,CAC9B,KAKG,KAAA;AACH,EAAM,MAAA;AAAA,IACJ,gBAAgB,EAAC;AAAA,IACjB,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACE,GAAA,KAAA;AACJ,EAAA,MAAM,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAA,QAAA,CAE5C,EAAE,CAAA;AACJ,EAAA,MAAM,EAAE,CAAA,EAAM,GAAA,iBAAA,CAAkB,wBAAwB,CAAA;AACxD,EAAA,MAAM,aAA2B,aAC7B,GAAA,aAAA,CAAc,IAAI,CAAM,CAAA,MAAA,EAAE,OAAO,CAAG,EAAA,KAAA,EAAO,CAAE,EAAA,CAAE,IAC/C,CAAC,EAAE,OAAO,YAAc,EAAA,KAAA,EAAO,WAAW,CAAA;AAE9C,EAAM,MAAA,EAAE,KAAO,EAAA,IAAA,EAAS,GAAA,KAAA;AAExB,EAAM,MAAA,aAAA,GAAgB,OAAO,gBAAgB,CAAA;AAE7C,EAAM,MAAA,qBAAA,GAAwB,YAAY,MAAM;AAC9C,IAAA,IAAI,CAAC,aAAc,CAAA,YAAA,IAAgB,CAAC,WAAA,IAAe,CAAC,IAAM,EAAA;AACxD,MAAA,kBAAA,CAAmB,EAAE,CAAA;AACrB,MAAA;AAAA;AAGF,IAAA,aAAA,CACG,YAAa,CAAA;AAAA,MACZ,KAAO,EAAA,WAAA;AAAA,MACP,QAAU,EAAA,QAAA;AAAA,MACV,QAAU,EAAA,QAAA;AAAA,MACV,OAAA,EAAS,EAAE,IAAK;AAAA,KACjB,CACA,CAAA,IAAA,CAAK,CAAC,EAAE,SAAc,KAAA;AACrB,MAAA,kBAAA;AAAA,QACE,OAAA,CAAQ,IAAI,CAAK,CAAA,KAAA;AACf,UAAO,OAAA;AAAA,YACL,OAAO,CAAE,CAAA,KAAA;AAAA,YACT,IAAI,CAAE,CAAA;AAAA,WACR;AAAA,SACD;AAAA,OACH;AAAA,KACD,CACA,CAAA,KAAA,CAAM,MAAM;AACX,MAAA,kBAAA,CAAmB,EAAE,CAAA;AAAA,KACtB,CAAA;AAAA,GACF,EAAA,CAAC,aAAe,EAAA,WAAA,EAAa,IAAI,CAAC,CAAA;AAErC,EAAA,WAAA,CAAY,qBAAuB,EAAA,GAAA,EAAK,CAAC,qBAAqB,CAAC,CAAA;AAG/D,EAAM,MAAA,2BAAA,GAA8B,YAAY,MAAM;AACpD,IAAI,IAAA,CAAC,cAAc,YAAgB,IAAA,CAAC,eAAe,CAAC,IAAA,IAAQ,CAAC,KAAO,EAAA;AAClE,MAAA,QAAA,CAAS,EAAE,cAAA,EAAgB,EAAC,EAAG,CAAA;AAC/B,MAAA;AAAA;AAGF,IAAA,MAAM,gBAAgB,eAAgB,CAAA,IAAA,CAAK,CAAS,KAAA,KAAA,KAAA,CAAM,UAAU,KAAK,CAAA;AAEzE,IAAA,aAAA,CACG,YAAa,CAAA;AAAA,MACZ,KAAO,EAAA,WAAA;AAAA,MACP,QAAU,EAAA,cAAA;AAAA,MACV,OAAS,EAAA;AAAA,QACP,EAAA,EAAI,eAAe,EAAM,IAAA,EAAA;AAAA,QACzB;AAAA,OACF;AAAA,MACA,QAAU,EAAA;AAAA,KACX,CACA,CAAA,IAAA,CAAK,CAAC,EAAE,SAAc,KAAA;AACrB,MAAS,QAAA,CAAA;AAAA,QACP,cAAA,EAAgB,OAAQ,CAAA,GAAA,CAAI,CAAK,CAAA,KAAA;AAC/B,UAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAE,KAAQ,EAAA,EAAA,EAAI,EAAE,EAAG,EAAA;AAAA,SACnC;AAAA,OACF,CAAA;AAAA,KACF,CACA,CAAA,KAAA,CAAM,MAAM;AACX,MAAA,QAAA,CAAS,EAAE,cAAA,EAAgB,EAAC,EAAG,CAAA;AAAA,KAChC,CAAA;AAAA,GACL,EAAG,CAAC,aAAe,EAAA,WAAA,EAAa,MAAM,KAAO,EAAA,QAAA,EAAU,eAAe,CAAC,CAAA;AAEvE,EAAA,WAAA,CAAY,2BAA6B,EAAA,GAAA,EAAK,CAAC,2BAA2B,CAAC,CAAA;AAE3E,EAAA,uBAEI,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,MAAO,EAAA,QAAA;AAAA,MACP,QAAQ,EAAA,IAAA;AAAA,MACR,KAAO,EAAA,SAAA,EAAW,MAAS,GAAA,CAAA,IAAK,CAAC,KAAA;AAAA,MAEhC,QAAA,EAAA,aAAA,EAAe,yBAEZ,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,MAAM,EAAA,IAAA;AAAA,YACN,KAAA,EAAO,EAAE,qCAAqC,CAAA;AAAA,YAC9C,QAAA,EAAU,cACR,QAAS,CAAA;AAAA,cACP,KAAO,EAAA,MAAA;AAAA,gBACL,MAAM,OAAQ,CAAA,QAAQ,CAAI,GAAA,QAAA,CAAS,CAAC,CAAI,GAAA;AAAA;AAC1C,aACD,CAAA;AAAA,YAEH,QAAA,EAAU,UAAc,IAAA,aAAA,CAAc,MAAW,KAAA,CAAA;AAAA,YACjD,QAAU,EAAA,KAAA;AAAA,YACV,KAAO,EAAA;AAAA;AAAA,SACT;AAAA,wBACC,GAAA,CAAA,cAAA,EAAA,EACE,QAAE,EAAA,CAAA,CAAA,2CAA2C,CAChD,EAAA;AAAA,OAAA,EACF,CAEA,mBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA,KAAA;AAAA,UACP,QAAA,EAAU,CAAC,CAAA,EAAG,QAAa,KAAA;AACzB,YAAA,QAAA,CAAS,EAAE,KAAA,EAAO,QAAY,IAAA,EAAA,EAAI,CAAA;AAAA,WACpC;AAAA,UACA,OAAS,EAAA,eAAA,CAAgB,GAAI,CAAA,CAAA,KAAA,KAAS,MAAM,KAAK,CAAA;AAAA,UACjD,aAAa,CACX,MAAA,qBAAA,GAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACE,GAAG,MAAA;AAAA,cACJ,KAAA,EAAO,EAAE,qCAAqC,CAAA;AAAA,cAC9C,QAAU,EAAA,UAAA;AAAA,cACV,QAAQ,EAAA;AAAA;AAAA,WACV;AAAA,UAEF,QAAQ,EAAA,IAAA;AAAA,UACR,QAAU,EAAA,UAAA;AAAA,UACV,UAAU,EAAA;AAAA;AAAA;AACZ;AAAA,GAGN,EAAA,CAAA;AAEJ;;;;"}
|