@strapi/plugin-documentation 4.15.3 → 4.15.5-alpha.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/_chunks/ar-3945178e.js +24 -0
- package/dist/_chunks/ar-3945178e.js.map +1 -0
- package/dist/_chunks/ar-a504b634.mjs +24 -0
- package/dist/_chunks/ar-a504b634.mjs.map +1 -0
- package/dist/_chunks/cs-053272e2.js +25 -0
- package/dist/_chunks/cs-053272e2.js.map +1 -0
- package/dist/_chunks/cs-feb7f04c.mjs +25 -0
- package/dist/_chunks/cs-feb7f04c.mjs.map +1 -0
- package/dist/_chunks/de-09853142.js +30 -0
- package/dist/_chunks/de-09853142.js.map +1 -0
- package/dist/_chunks/de-a33e1fea.mjs +30 -0
- package/dist/_chunks/de-a33e1fea.mjs.map +1 -0
- package/dist/_chunks/dk-05d66fde.js +43 -0
- package/dist/_chunks/dk-05d66fde.js.map +1 -0
- package/dist/_chunks/dk-ed9fcdcf.mjs +43 -0
- package/dist/_chunks/dk-ed9fcdcf.mjs.map +1 -0
- package/dist/_chunks/en-70db76ff.js +43 -0
- package/dist/_chunks/en-70db76ff.js.map +1 -0
- package/dist/_chunks/en-96395a32.mjs +43 -0
- package/dist/_chunks/en-96395a32.mjs.map +1 -0
- package/dist/_chunks/es-22de55e3.mjs +43 -0
- package/dist/_chunks/es-22de55e3.mjs.map +1 -0
- package/dist/_chunks/es-497d8815.js +43 -0
- package/dist/_chunks/es-497d8815.js.map +1 -0
- package/dist/_chunks/fr-24238f91.js +30 -0
- package/dist/_chunks/fr-24238f91.js.map +1 -0
- package/dist/_chunks/fr-70c3898d.mjs +30 -0
- package/dist/_chunks/fr-70c3898d.mjs.map +1 -0
- package/dist/_chunks/id-e9ab0af3.js +28 -0
- package/dist/_chunks/id-e9ab0af3.js.map +1 -0
- package/dist/_chunks/id-e9e00780.mjs +28 -0
- package/dist/_chunks/id-e9e00780.mjs.map +1 -0
- package/dist/_chunks/index-7cac1b41.js +169 -0
- package/dist/_chunks/index-7cac1b41.js.map +1 -0
- package/dist/_chunks/index-9bf29e09.js +202 -0
- package/dist/_chunks/index-9bf29e09.js.map +1 -0
- package/dist/_chunks/index-b6b0a55d.mjs +203 -0
- package/dist/_chunks/index-b6b0a55d.mjs.map +1 -0
- package/dist/_chunks/index-bee3292d.mjs +173 -0
- package/dist/_chunks/index-bee3292d.mjs.map +1 -0
- package/dist/_chunks/index-eadd6467.js +194 -0
- package/dist/_chunks/index-eadd6467.js.map +1 -0
- package/dist/_chunks/index-ed965abb.mjs +167 -0
- package/dist/_chunks/index-ed965abb.mjs.map +1 -0
- package/dist/_chunks/it-28ef2963.mjs +30 -0
- package/dist/_chunks/it-28ef2963.mjs.map +1 -0
- package/dist/_chunks/it-5255d492.js +30 -0
- package/dist/_chunks/it-5255d492.js.map +1 -0
- package/dist/_chunks/ko-34e7eb26.js +43 -0
- package/dist/_chunks/ko-34e7eb26.js.map +1 -0
- package/dist/_chunks/ko-a29301ee.mjs +43 -0
- package/dist/_chunks/ko-a29301ee.mjs.map +1 -0
- package/dist/_chunks/ms-63bb66e1.js +27 -0
- package/dist/_chunks/ms-63bb66e1.js.map +1 -0
- package/dist/_chunks/ms-87588bdb.mjs +27 -0
- package/dist/_chunks/ms-87588bdb.mjs.map +1 -0
- package/dist/_chunks/nl-0319020c.js +25 -0
- package/dist/_chunks/nl-0319020c.js.map +1 -0
- package/dist/_chunks/nl-91bcd809.mjs +25 -0
- package/dist/_chunks/nl-91bcd809.mjs.map +1 -0
- package/dist/_chunks/pl-2d57c604.js +43 -0
- package/dist/_chunks/pl-2d57c604.js.map +1 -0
- package/dist/_chunks/pl-7d7fe7b2.mjs +43 -0
- package/dist/_chunks/pl-7d7fe7b2.mjs.map +1 -0
- package/dist/_chunks/pt-9b66f3d5.mjs +25 -0
- package/dist/_chunks/pt-9b66f3d5.mjs.map +1 -0
- package/dist/_chunks/pt-BR-0024d4be.mjs +25 -0
- package/dist/_chunks/pt-BR-0024d4be.mjs.map +1 -0
- package/dist/_chunks/pt-BR-cf80ef96.js +25 -0
- package/dist/_chunks/pt-BR-cf80ef96.js.map +1 -0
- package/dist/_chunks/pt-b91837bc.js +25 -0
- package/dist/_chunks/pt-b91837bc.js.map +1 -0
- package/dist/_chunks/ru-468d9a30.mjs +43 -0
- package/dist/_chunks/ru-468d9a30.mjs.map +1 -0
- package/dist/_chunks/ru-91348271.js +43 -0
- package/dist/_chunks/ru-91348271.js.map +1 -0
- package/dist/_chunks/sk-01b7713b.mjs +28 -0
- package/dist/_chunks/sk-01b7713b.mjs.map +1 -0
- package/dist/_chunks/sk-10c03ab1.js +28 -0
- package/dist/_chunks/sk-10c03ab1.js.map +1 -0
- package/dist/_chunks/sv-7edbe28d.mjs +43 -0
- package/dist/_chunks/sv-7edbe28d.mjs.map +1 -0
- package/dist/_chunks/sv-e5237308.js +43 -0
- package/dist/_chunks/sv-e5237308.js.map +1 -0
- package/dist/_chunks/th-200a02f1.js +28 -0
- package/dist/_chunks/th-200a02f1.js.map +1 -0
- package/dist/_chunks/th-4fcead7f.mjs +28 -0
- package/dist/_chunks/th-4fcead7f.mjs.map +1 -0
- package/dist/_chunks/tr-8290d257.mjs +43 -0
- package/dist/_chunks/tr-8290d257.mjs.map +1 -0
- package/dist/_chunks/tr-fd36715f.js +43 -0
- package/dist/_chunks/tr-fd36715f.js.map +1 -0
- package/dist/_chunks/uk-bf914720.mjs +27 -0
- package/dist/_chunks/uk-bf914720.mjs.map +1 -0
- package/dist/_chunks/uk-cb462605.js +27 -0
- package/dist/_chunks/uk-cb462605.js.map +1 -0
- package/dist/_chunks/useDocumentation-65642421.mjs +66 -0
- package/dist/_chunks/useDocumentation-65642421.mjs.map +1 -0
- package/dist/_chunks/useDocumentation-cb91451d.js +65 -0
- package/dist/_chunks/useDocumentation-cb91451d.js.map +1 -0
- package/dist/_chunks/vi-d2e2e100.js +28 -0
- package/dist/_chunks/vi-d2e2e100.js.map +1 -0
- package/dist/_chunks/vi-ddc8357e.mjs +28 -0
- package/dist/_chunks/vi-ddc8357e.mjs.map +1 -0
- package/dist/_chunks/zh-7b489db7.mjs +43 -0
- package/dist/_chunks/zh-7b489db7.mjs.map +1 -0
- package/dist/_chunks/zh-8da2191f.js +43 -0
- package/dist/_chunks/zh-8da2191f.js.map +1 -0
- package/dist/_chunks/zh-Hans-6cefb513.mjs +32 -0
- package/dist/_chunks/zh-Hans-6cefb513.mjs.map +1 -0
- package/dist/_chunks/zh-Hans-c2e4b737.js +32 -0
- package/dist/_chunks/zh-Hans-c2e4b737.js.map +1 -0
- package/dist/admin/index.js +6 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +7 -0
- package/dist/admin/index.mjs.map +1 -0
- package/package.json +7 -6
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const id = {
|
|
2
|
+
"components.Row.open": "Buka",
|
|
3
|
+
"components.Row.regenerate": "Diperbarui",
|
|
4
|
+
"containers.HomePage.Block.title": "Versi",
|
|
5
|
+
"containers.HomePage.Button.update": "Perbarui",
|
|
6
|
+
"containers.HomePage.PluginHeader.title": "Dokumentasi — Pengaturan",
|
|
7
|
+
"containers.HomePage.PopUpWarning.confirm": "Saya mengerti",
|
|
8
|
+
"containers.HomePage.PopUpWarning.message": "Anda yakin ingin menghapus versi ini?",
|
|
9
|
+
"containers.HomePage.copied": "Token disalin ke papan klip",
|
|
10
|
+
"containers.HomePage.form.jwtToken": "Ambil token JWT Anda",
|
|
11
|
+
"containers.HomePage.form.jwtToken.description": "Salin token ini dan gunakan dengan sombong untuk membuat permintaan",
|
|
12
|
+
"containers.HomePage.form.password": "Kata sandi",
|
|
13
|
+
"containers.HomePage.form.password.inputDescription": "Atur kata sandi untuk mengakses dokumentasi",
|
|
14
|
+
"containers.HomePage.form.restrictedAccess": "Akses terbatas",
|
|
15
|
+
"containers.HomePage.form.restrictedAccess.inputDescription": "Jadikan titik akhir dokumentasi bersifat pribadi. Secara default, aksesnya adalah publik",
|
|
16
|
+
"containers.HomePage.form.showGeneratedFiles": "Tampilkan file yang dibuat",
|
|
17
|
+
"containers.HomePage.form.showGeneratedFiles.inputDescription": "Berguna ketika Anda ingin mengganti dokumentasi yang dihasilkan. \n Plugin akan menghasilkan file yang dipisahkan berdasarkan model dan plugin. \n Dengan mengaktifkan opsi ini, akan lebih mudah untuk menyesuaikan dokumentasi Anda",
|
|
18
|
+
"error.deleteDoc.versionMissing": "Versi yang Anda coba hapus tidak ada.",
|
|
19
|
+
"error.noVersion": "Versi diperlukan",
|
|
20
|
+
"error.regenerateDoc": "Terjadi kesalahan saat membuat ulang dokumen",
|
|
21
|
+
"error.regenerateDoc.versionMissing": "Versi yang Anda coba buat tidak ada",
|
|
22
|
+
"notification.update.success": "Pengaturan berhasil diperbarui",
|
|
23
|
+
"plugin.name": "Dokumentasi"
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
id as default
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=id-e9e00780.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-e9e00780.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const designSystem = require("@strapi/design-system");
|
|
6
|
+
const helperPlugin = require("@strapi/helper-plugin");
|
|
7
|
+
const icons = require("@strapi/icons");
|
|
8
|
+
const reactHelmet = require("react-helmet");
|
|
9
|
+
const reactIntl = require("react-intl");
|
|
10
|
+
const styled = require("styled-components");
|
|
11
|
+
const index = require("./index-9bf29e09.js");
|
|
12
|
+
const useDocumentation = require("./useDocumentation-cb91451d.js");
|
|
13
|
+
require("react-query");
|
|
14
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
15
|
+
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
|
16
|
+
const PluginPage = () => {
|
|
17
|
+
helperPlugin.useFocusWhenNavigate();
|
|
18
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
19
|
+
const { data, isLoading, isError, remove, regenerate } = useDocumentation.useDocumentation();
|
|
20
|
+
const [showConfirmDelete, setShowConfirmDelete] = react.useState(false);
|
|
21
|
+
const [isConfirmButtonLoading, setIsConfirmButtonLoading] = react.useState(false);
|
|
22
|
+
const [versionToDelete, setVersionToDelete] = react.useState();
|
|
23
|
+
const { allowedActions } = helperPlugin.useRBAC(index.PERMISSIONS);
|
|
24
|
+
const colCount = 4;
|
|
25
|
+
const rowCount = (data?.docVersions?.length || 0) + 1;
|
|
26
|
+
const handleRegenerateDoc = (version) => {
|
|
27
|
+
regenerate.mutate({ version, prefix: data?.prefix });
|
|
28
|
+
};
|
|
29
|
+
const handleShowConfirmDelete = () => {
|
|
30
|
+
setShowConfirmDelete(!showConfirmDelete);
|
|
31
|
+
};
|
|
32
|
+
const handleConfirmDelete = async () => {
|
|
33
|
+
setIsConfirmButtonLoading(true);
|
|
34
|
+
await remove.mutateAsync({ prefix: data?.prefix, version: versionToDelete });
|
|
35
|
+
setShowConfirmDelete(!showConfirmDelete);
|
|
36
|
+
setIsConfirmButtonLoading(false);
|
|
37
|
+
};
|
|
38
|
+
const handleClickDelete = (version) => {
|
|
39
|
+
setVersionToDelete(version);
|
|
40
|
+
setShowConfirmDelete(!showConfirmDelete);
|
|
41
|
+
};
|
|
42
|
+
const title = formatMessage({
|
|
43
|
+
id: useDocumentation.getTrad("plugin.name"),
|
|
44
|
+
defaultMessage: "Documentation"
|
|
45
|
+
});
|
|
46
|
+
if (isError) {
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Layout, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 8, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.AnErrorOccurred, {}) }) }) });
|
|
48
|
+
}
|
|
49
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Layout, { children: [
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactHelmet.Helmet, { title }),
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { "aria-busy": isLoading, children: [
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
designSystem.HeaderLayout,
|
|
54
|
+
{
|
|
55
|
+
title,
|
|
56
|
+
subtitle: formatMessage({
|
|
57
|
+
id: useDocumentation.getTrad("pages.PluginPage.header.description"),
|
|
58
|
+
defaultMessage: "Configure the documentation plugin"
|
|
59
|
+
}),
|
|
60
|
+
primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
|
|
61
|
+
OpenDocLink,
|
|
62
|
+
{
|
|
63
|
+
disabled: !allowedActions.canOpen || !data?.currentVersion || !data?.prefix,
|
|
64
|
+
href: createDocumentationHref(`${data?.prefix}/v${data?.currentVersion}`),
|
|
65
|
+
startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Eye, {}),
|
|
66
|
+
children: formatMessage({
|
|
67
|
+
id: useDocumentation.getTrad("pages.PluginPage.Button.open"),
|
|
68
|
+
defaultMessage: "Open Documentation"
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.ContentLayout, { children: [
|
|
75
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, { children: "Plugin is loading" }),
|
|
76
|
+
data?.docVersions.length ? /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount, rowCount, children: [
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Thead, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
|
|
78
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({
|
|
79
|
+
id: useDocumentation.getTrad("pages.PluginPage.table.version"),
|
|
80
|
+
defaultMessage: "Version"
|
|
81
|
+
}) }) }),
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({
|
|
83
|
+
id: useDocumentation.getTrad("pages.PluginPage.table.generated"),
|
|
84
|
+
defaultMessage: "Last Generated"
|
|
85
|
+
}) }) })
|
|
86
|
+
] }) }),
|
|
87
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tbody, { children: data.docVersions.sort((a, b) => a.generatedDate < b.generatedDate ? 1 : -1).map((doc) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
|
|
88
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "50%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: doc.version }) }),
|
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "50%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: doc.generatedDate }) }),
|
|
90
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "end", onClick: (e) => e.stopPropagation(), children: [
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
92
|
+
designSystem.IconButton,
|
|
93
|
+
{
|
|
94
|
+
forwardedAs: "a",
|
|
95
|
+
disabled: !allowedActions.canOpen,
|
|
96
|
+
href: createDocumentationHref(`${data.prefix}/v${doc.version}`),
|
|
97
|
+
noBorder: true,
|
|
98
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Eye, {}),
|
|
99
|
+
target: "_blank",
|
|
100
|
+
rel: "noopener noreferrer",
|
|
101
|
+
label: formatMessage(
|
|
102
|
+
{
|
|
103
|
+
id: useDocumentation.getTrad("pages.PluginPage.table.icon.show"),
|
|
104
|
+
defaultMessage: "Open {target}"
|
|
105
|
+
},
|
|
106
|
+
{ target: `${doc.version}` }
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
),
|
|
110
|
+
allowedActions.canRegenerate ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
111
|
+
designSystem.IconButton,
|
|
112
|
+
{
|
|
113
|
+
onClick: () => handleRegenerateDoc(doc.version),
|
|
114
|
+
noBorder: true,
|
|
115
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Refresh, {}),
|
|
116
|
+
label: formatMessage(
|
|
117
|
+
{
|
|
118
|
+
id: useDocumentation.getTrad("pages.PluginPage.table.icon.regenerate"),
|
|
119
|
+
defaultMessage: "Regenerate {target}"
|
|
120
|
+
},
|
|
121
|
+
{ target: `${doc.version}` }
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
) : null,
|
|
125
|
+
allowedActions.canUpdate && doc.version !== data.currentVersion ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
designSystem.IconButton,
|
|
127
|
+
{
|
|
128
|
+
onClick: () => handleClickDelete(doc.version),
|
|
129
|
+
noBorder: true,
|
|
130
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Trash, {}),
|
|
131
|
+
label: formatMessage(
|
|
132
|
+
{
|
|
133
|
+
id: "global.delete-target",
|
|
134
|
+
defaultMessage: "Delete {target}"
|
|
135
|
+
},
|
|
136
|
+
{ target: `${doc.version}` }
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
) : null
|
|
140
|
+
] }) })
|
|
141
|
+
] }, doc.version)) })
|
|
142
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.EmptyStateLayout, {})
|
|
143
|
+
] }),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
+
helperPlugin.ConfirmDialog,
|
|
146
|
+
{
|
|
147
|
+
isConfirmButtonLoading,
|
|
148
|
+
onConfirm: handleConfirmDelete,
|
|
149
|
+
onToggleDialog: handleShowConfirmDelete,
|
|
150
|
+
isOpen: showConfirmDelete
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
] })
|
|
154
|
+
] });
|
|
155
|
+
};
|
|
156
|
+
const OpenDocLink = styled__default.default(designSystem.LinkButton)`
|
|
157
|
+
text-decoration: none;
|
|
158
|
+
`;
|
|
159
|
+
const createDocumentationHref = (path) => {
|
|
160
|
+
if (path.startsWith("http")) {
|
|
161
|
+
return path;
|
|
162
|
+
}
|
|
163
|
+
if (path.startsWith("/")) {
|
|
164
|
+
return `${window.strapi.backendURL}${path}`;
|
|
165
|
+
}
|
|
166
|
+
return `${window.strapi.backendURL}/${path}`;
|
|
167
|
+
};
|
|
168
|
+
exports.default = PluginPage;
|
|
169
|
+
//# sourceMappingURL=index-7cac1b41.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-7cac1b41.js","sources":["../../admin/src/pages/PluginPage/index.js"],"sourcesContent":["import React, { useState } from 'react';\n\nimport {\n Box,\n LinkButton,\n ContentLayout,\n Flex,\n HeaderLayout,\n IconButton,\n Layout,\n Main,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n} from '@strapi/design-system';\nimport {\n AnErrorOccurred,\n ConfirmDialog,\n EmptyStateLayout,\n LoadingIndicatorPage,\n useFocusWhenNavigate,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Eye as Show, Refresh as Reload, Trash } from '@strapi/icons';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { PERMISSIONS } from '../../constants';\nimport { useDocumentation } from '../../hooks/useDocumentation';\nimport { getTrad } from '../../utils';\n\nconst PluginPage = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const { data, isLoading, isError, remove, regenerate } = useDocumentation();\n const [showConfirmDelete, setShowConfirmDelete] = useState(false);\n const [isConfirmButtonLoading, setIsConfirmButtonLoading] = useState(false);\n const [versionToDelete, setVersionToDelete] = useState();\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n const colCount = 4;\n const rowCount = (data?.docVersions?.length || 0) + 1;\n\n const handleRegenerateDoc = (version) => {\n regenerate.mutate({ version, prefix: data?.prefix });\n };\n\n const handleShowConfirmDelete = () => {\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const handleConfirmDelete = async () => {\n setIsConfirmButtonLoading(true);\n await remove.mutateAsync({ prefix: data?.prefix, version: versionToDelete });\n setShowConfirmDelete(!showConfirmDelete);\n setIsConfirmButtonLoading(false);\n };\n\n const handleClickDelete = (version) => {\n setVersionToDelete(version);\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const title = formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n });\n\n if (isError) {\n return (\n <Layout>\n <ContentLayout>\n <Box paddingTop={8}>\n <AnErrorOccurred />\n </Box>\n </ContentLayout>\n </Layout>\n );\n }\n\n return (\n <Layout>\n <Helmet title={title} />\n <Main aria-busy={isLoading}>\n <HeaderLayout\n title={title}\n subtitle={formatMessage({\n id: getTrad('pages.PluginPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <OpenDocLink\n disabled={!allowedActions.canOpen || !data?.currentVersion || !data?.prefix}\n href={createDocumentationHref(`${data?.prefix}/v${data?.currentVersion}`)}\n startIcon={<Show />}\n >\n {formatMessage({\n id: getTrad('pages.PluginPage.Button.open'),\n defaultMessage: 'Open Documentation',\n })}\n </OpenDocLink>\n }\n />\n <ContentLayout>\n {isLoading && <LoadingIndicatorPage>Plugin is loading</LoadingIndicatorPage>}\n {data?.docVersions.length ? (\n <Table colCount={colCount} rowCount={rowCount}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('pages.PluginPage.table.version'),\n defaultMessage: 'Version',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('pages.PluginPage.table.generated'),\n defaultMessage: 'Last Generated',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data.docVersions\n .sort((a, b) => (a.generatedDate < b.generatedDate ? 1 : -1))\n .map((doc) => (\n <Tr key={doc.version}>\n <Td width=\"50%\">\n <Typography>{doc.version}</Typography>\n </Td>\n <Td width=\"50%\">\n <Typography>{doc.generatedDate}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"end\" onClick={(e) => e.stopPropagation()}>\n <IconButton\n forwardedAs=\"a\"\n disabled={!allowedActions.canOpen}\n href={createDocumentationHref(`${data.prefix}/v${doc.version}`)}\n noBorder\n icon={<Show />}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n label={formatMessage(\n {\n id: getTrad('pages.PluginPage.table.icon.show'),\n defaultMessage: 'Open {target}',\n },\n { target: `${doc.version}` }\n )}\n />\n {allowedActions.canRegenerate ? (\n <IconButton\n onClick={() => handleRegenerateDoc(doc.version)}\n noBorder\n icon={<Reload />}\n label={formatMessage(\n {\n id: getTrad('pages.PluginPage.table.icon.regenerate'),\n defaultMessage: 'Regenerate {target}',\n },\n { target: `${doc.version}` }\n )}\n />\n ) : null}\n {allowedActions.canUpdate && doc.version !== data.currentVersion ? (\n <IconButton\n onClick={() => handleClickDelete(doc.version)}\n noBorder\n icon={<Trash />}\n label={formatMessage(\n {\n id: 'global.delete-target',\n defaultMessage: 'Delete {target}',\n },\n { target: `${doc.version}` }\n )}\n />\n ) : null}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout />\n )}\n </ContentLayout>\n <ConfirmDialog\n isConfirmButtonLoading={isConfirmButtonLoading}\n onConfirm={handleConfirmDelete}\n onToggleDialog={handleShowConfirmDelete}\n isOpen={showConfirmDelete}\n />\n </Main>\n </Layout>\n );\n};\n\n/**\n * TODO: should this be fixed in the DS?\n */\nconst OpenDocLink = styled(LinkButton)`\n text-decoration: none;\n`;\n\nconst createDocumentationHref = (path) => {\n if (path.startsWith('http')) {\n return path;\n }\n\n if (path.startsWith('/')) {\n return `${window.strapi.backendURL}${path}`;\n }\n\n return `${window.strapi.backendURL}/${path}`;\n};\n\nexport default PluginPage;\n"],"names":["useFocusWhenNavigate","useIntl","useDocumentation","useState","useRBAC","PERMISSIONS","getTrad","jsx","Layout","ContentLayout","Box","AnErrorOccurred","Helmet","jsxs","Main","HeaderLayout","Show","LoadingIndicatorPage","Table","Thead","Tr","Th","Typography","Tbody","Td","Flex","IconButton","Reload","Trash","EmptyStateLayout","ConfirmDialog","styled","LinkButton"],"mappings":";;;;;;;;;;;;;;;AAoCA,MAAM,aAAa,MAAM;AACFA,eAAAA;AACf,QAAA,EAAE,kBAAkBC,UAAAA;AAC1B,QAAM,EAAE,MAAM,WAAW,SAAS,QAAQ,WAAA,IAAeC,iBAAAA;AACzD,QAAM,CAAC,mBAAmB,oBAAoB,IAAIC,eAAS,KAAK;AAChE,QAAM,CAAC,wBAAwB,yBAAyB,IAAIA,eAAS,KAAK;AAC1E,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAS,SAAA;AACvD,QAAM,EAAE,eAAA,IAAmBC,aAAA,QAAQC,MAAW,WAAA;AAE9C,QAAM,WAAW;AACjB,QAAM,YAAY,MAAM,aAAa,UAAU,KAAK;AAE9C,QAAA,sBAAsB,CAAC,YAAY;AACvC,eAAW,OAAO,EAAE,SAAS,QAAQ,MAAM,QAAQ;AAAA,EAAA;AAGrD,QAAM,0BAA0B,MAAM;AACpC,yBAAqB,CAAC,iBAAiB;AAAA,EAAA;AAGzC,QAAM,sBAAsB,YAAY;AACtC,8BAA0B,IAAI;AACxB,UAAA,OAAO,YAAY,EAAE,QAAQ,MAAM,QAAQ,SAAS,iBAAiB;AAC3E,yBAAqB,CAAC,iBAAiB;AACvC,8BAA0B,KAAK;AAAA,EAAA;AAG3B,QAAA,oBAAoB,CAAC,YAAY;AACrC,uBAAmB,OAAO;AAC1B,yBAAqB,CAAC,iBAAiB;AAAA,EAAA;AAGzC,QAAM,QAAQ,cAAc;AAAA,IAC1B,IAAIC,yBAAQ,aAAa;AAAA,IACzB,gBAAgB;AAAA,EAAA,CACjB;AAED,MAAI,SAAS;AACX,WACGC,2BAAA,IAAAC,aAAA,QAAA,EACC,UAACD,2BAAA,IAAAE,4BAAA,EACC,UAACF,2BAAAA,IAAAG,aAAA,KAAA,EAAI,YAAY,GACf,UAACH,+BAAAI,aAAAA,iBAAA,CAAA,CAAgB,EACnB,CAAA,GACF,EACF,CAAA;AAAA,EAEJ;AAEA,yCACGH,qBACC,EAAA,UAAA;AAAA,IAAAD,+BAACK,YAAAA,UAAO,OAAc;AAAA,IACtBC,2BAAAA,KAACC,aAAAA,MAAK,EAAA,aAAW,WACf,UAAA;AAAA,MAAAP,2BAAA;AAAA,QAACQ,aAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,UAAU,cAAc;AAAA,YACtB,IAAIT,yBAAQ,qCAAqC;AAAA,YACjD,gBAAgB;AAAA,UAAA,CACjB;AAAA,UACD,eACEC,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,UAAU,CAAC,eAAe,WAAW,CAAC,MAAM,kBAAkB,CAAC,MAAM;AAAA,cACrE,MAAM,wBAAwB,GAAG,MAAM,MAAM,KAAK,MAAM,cAAc,EAAE;AAAA,cACxE,0CAAYS,MAAK,KAAA,EAAA;AAAA,cAEhB,UAAc,cAAA;AAAA,gBACb,IAAIV,yBAAQ,8BAA8B;AAAA,gBAC1C,gBAAgB;AAAA,cAAA,CACjB;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,sCACCG,aAAAA,eACE,EAAA,UAAA;AAAA,QAAa,aAAAF,2BAAAA,IAACU,aAAAA,wBAAqB,UAAiB,oBAAA,CAAA;AAAA,QACpD,MAAM,YAAY,SAChBJ,2BAAA,KAAAK,aAAA,OAAA,EAAM,UAAoB,UACzB,UAAA;AAAA,UAACX,2BAAA,IAAAY,aAAA,OAAA,EACC,0CAACC,aAAAA,IACC,EAAA,UAAA;AAAA,YAAAb,2BAAAA,IAACc,mBACC,UAACd,2BAAA,IAAAe,aAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,cACb,IAAIhB,yBAAQ,gCAAgC;AAAA,cAC5C,gBAAgB;AAAA,YAAA,CACjB,GACH,EACF,CAAA;AAAA,YACAC,2BAAAA,IAACc,mBACC,UAACd,2BAAA,IAAAe,aAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,cACb,IAAIhB,yBAAQ,kCAAkC;AAAA,cAC9C,gBAAgB;AAAA,YAAA,CACjB,GACH,EACF,CAAA;AAAA,UAAA,EAAA,CACF,EACF,CAAA;AAAA,yCACCiB,aAAAA,OACE,EAAA,UAAA,KAAK,YACH,KAAK,CAAC,GAAG,MAAO,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,EAAG,EAC3D,IAAI,CAAC,wCACHH,iBACC,EAAA,UAAA;AAAA,YAAAb,2BAAAA,IAACiB,aAAAA,MAAG,OAAM,OACR,yCAACF,aAAY,YAAA,EAAA,UAAA,IAAI,SAAQ,EAC3B,CAAA;AAAA,YACAf,2BAAAA,IAACiB,aAAAA,MAAG,OAAM,OACR,yCAACF,aAAY,YAAA,EAAA,UAAA,IAAI,eAAc,EACjC,CAAA;AAAA,YACAf,2BAAAA,IAACiB,aAAAA,IACC,EAAA,UAAAX,2BAAA,KAACY,aAAK,MAAA,EAAA,gBAAe,OAAM,SAAS,CAAC,MAAM,EAAE,gBAAA,GAC3C,UAAA;AAAA,cAAAlB,2BAAA;AAAA,gBAACmB,aAAA;AAAA,gBAAA;AAAA,kBACC,aAAY;AAAA,kBACZ,UAAU,CAAC,eAAe;AAAA,kBAC1B,MAAM,wBAAwB,GAAG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAAA,kBAC9D,UAAQ;AAAA,kBACR,qCAAOV,MAAK,KAAA,EAAA;AAAA,kBACZ,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,OAAO;AAAA,oBACL;AAAA,sBACE,IAAIV,yBAAQ,kCAAkC;AAAA,sBAC9C,gBAAgB;AAAA,oBAClB;AAAA,oBACA,EAAE,QAAQ,GAAG,IAAI,OAAO,GAAG;AAAA,kBAC7B;AAAA,gBAAA;AAAA,cACF;AAAA,cACC,eAAe,gBACdC,2BAAA;AAAA,gBAACmB,aAAA;AAAA,gBAAA;AAAA,kBACC,SAAS,MAAM,oBAAoB,IAAI,OAAO;AAAA,kBAC9C,UAAQ;AAAA,kBACR,qCAAOC,MAAO,SAAA,EAAA;AAAA,kBACd,OAAO;AAAA,oBACL;AAAA,sBACE,IAAIrB,yBAAQ,wCAAwC;AAAA,sBACpD,gBAAgB;AAAA,oBAClB;AAAA,oBACA,EAAE,QAAQ,GAAG,IAAI,OAAO,GAAG;AAAA,kBAC7B;AAAA,gBAAA;AAAA,cAAA,IAEA;AAAA,cACH,eAAe,aAAa,IAAI,YAAY,KAAK,iBAChDC,2BAAA;AAAA,gBAACmB,aAAA;AAAA,gBAAA;AAAA,kBACC,SAAS,MAAM,kBAAkB,IAAI,OAAO;AAAA,kBAC5C,UAAQ;AAAA,kBACR,qCAAOE,MAAM,OAAA,EAAA;AAAA,kBACb,OAAO;AAAA,oBACL;AAAA,sBACE,IAAI;AAAA,sBACJ,gBAAgB;AAAA,oBAClB;AAAA,oBACA,EAAE,QAAQ,GAAG,IAAI,OAAO,GAAG;AAAA,kBAC7B;AAAA,gBAAA;AAAA,cAAA,IAEA;AAAA,YAAA,EAAA,CACN,EACF,CAAA;AAAA,UAtDO,EAAA,GAAA,IAAI,OAuDb,CACD,GACL;AAAA,QACF,EAAA,CAAA,mCAECC,aAAiB,kBAAA,EAAA;AAAA,MAAA,GAEtB;AAAA,MACAtB,2BAAA;AAAA,QAACuB,aAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,QAAQ;AAAA,QAAA;AAAA,MACV;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ;AAKA,MAAM,cAAcC,gBAAAA,QAAOC,aAAAA,UAAU;AAAA;AAAA;AAIrC,MAAM,0BAA0B,CAAC,SAAS;AACpC,MAAA,KAAK,WAAW,MAAM,GAAG;AACpB,WAAA;AAAA,EACT;AAEI,MAAA,KAAK,WAAW,GAAG,GAAG;AACxB,WAAO,GAAG,OAAO,OAAO,UAAU,GAAG,IAAI;AAAA,EAC3C;AAEA,SAAO,GAAG,OAAO,OAAO,UAAU,IAAI,IAAI;AAC5C;;"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const helperPlugin = require("@strapi/helper-plugin");
|
|
3
|
+
const icons = require("@strapi/icons");
|
|
4
|
+
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
|
5
|
+
const v = glob[path];
|
|
6
|
+
if (v) {
|
|
7
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
8
|
+
}
|
|
9
|
+
return new Promise((_, reject) => {
|
|
10
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
const name$1 = "@strapi/plugin-documentation";
|
|
14
|
+
const version = "4.15.5-alpha.0";
|
|
15
|
+
const description = "Create an OpenAPI Document and visualize your API with SWAGGER UI.";
|
|
16
|
+
const repository = {
|
|
17
|
+
type: "git",
|
|
18
|
+
url: "https://github.com/strapi/strapi.git",
|
|
19
|
+
directory: "packages/plugins/documentation"
|
|
20
|
+
};
|
|
21
|
+
const license = "SEE LICENSE IN LICENSE";
|
|
22
|
+
const author = {
|
|
23
|
+
name: "Strapi Solutions SAS",
|
|
24
|
+
email: "hi@strapi.io",
|
|
25
|
+
url: "https://strapi.io"
|
|
26
|
+
};
|
|
27
|
+
const maintainers = [
|
|
28
|
+
{
|
|
29
|
+
name: "Strapi Solutions SAS",
|
|
30
|
+
email: "hi@strapi.io",
|
|
31
|
+
url: "https://strapi.io"
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
const exports$1 = {
|
|
35
|
+
"./strapi-admin": {
|
|
36
|
+
source: "./admin/src/index.js",
|
|
37
|
+
"import": "./dist/admin/index.mjs",
|
|
38
|
+
require: "./dist/admin/index.js",
|
|
39
|
+
"default": "./dist/admin/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./strapi-server": {
|
|
42
|
+
source: "./strapi-server.js",
|
|
43
|
+
require: "./strapi-server.js",
|
|
44
|
+
"default": "./strapi-server.js"
|
|
45
|
+
},
|
|
46
|
+
"./package.json": "./package.json"
|
|
47
|
+
};
|
|
48
|
+
const scripts = {
|
|
49
|
+
build: "pack-up build",
|
|
50
|
+
clean: "run -T rimraf dist",
|
|
51
|
+
lint: "run -T eslint .",
|
|
52
|
+
prepublishOnly: "yarn clean && yarn build",
|
|
53
|
+
"test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
|
|
54
|
+
"test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
|
|
55
|
+
"test:unit": "jest --verbose",
|
|
56
|
+
"test:unit:watch": "run -T jest --watch",
|
|
57
|
+
watch: "pack-up watch"
|
|
58
|
+
};
|
|
59
|
+
const dependencies = {
|
|
60
|
+
"@strapi/design-system": "1.13.0",
|
|
61
|
+
"@strapi/helper-plugin": "4.15.5-alpha.0",
|
|
62
|
+
"@strapi/icons": "1.13.0",
|
|
63
|
+
"@strapi/utils": "4.15.5-alpha.0",
|
|
64
|
+
bcryptjs: "2.4.3",
|
|
65
|
+
cheerio: "^1.0.0-rc.12",
|
|
66
|
+
formik: "2.4.0",
|
|
67
|
+
"fs-extra": "10.0.0",
|
|
68
|
+
immer: "9.0.19",
|
|
69
|
+
"koa-static": "^5.0.0",
|
|
70
|
+
lodash: "4.17.21",
|
|
71
|
+
"path-to-regexp": "6.2.1",
|
|
72
|
+
"react-helmet": "^6.1.0",
|
|
73
|
+
"react-intl": "6.4.1",
|
|
74
|
+
"react-query": "3.39.3",
|
|
75
|
+
"swagger-ui-dist": "4.19.0",
|
|
76
|
+
yaml: "1.10.2",
|
|
77
|
+
yup: "0.32.9"
|
|
78
|
+
};
|
|
79
|
+
const devDependencies = {
|
|
80
|
+
"@apidevtools/swagger-parser": "^10.1.0",
|
|
81
|
+
"@strapi/pack-up": "4.15.5-alpha.0",
|
|
82
|
+
"@strapi/strapi": "4.15.5-alpha.0",
|
|
83
|
+
"@testing-library/react": "14.0.0",
|
|
84
|
+
"@testing-library/user-event": "14.4.3",
|
|
85
|
+
msw: "1.3.0",
|
|
86
|
+
react: "^18.2.0",
|
|
87
|
+
"react-dom": "^18.2.0",
|
|
88
|
+
"react-router-dom": "5.3.4",
|
|
89
|
+
"styled-components": "5.3.3"
|
|
90
|
+
};
|
|
91
|
+
const peerDependencies = {
|
|
92
|
+
"@strapi/strapi": "^4.0.0",
|
|
93
|
+
react: "^17.0.0 || ^18.0.0",
|
|
94
|
+
"react-dom": "^17.0.0 || ^18.0.0",
|
|
95
|
+
"react-router-dom": "^5.2.0",
|
|
96
|
+
"styled-components": "^5.2.1"
|
|
97
|
+
};
|
|
98
|
+
const engines = {
|
|
99
|
+
node: ">=18.0.0 <=20.x.x",
|
|
100
|
+
npm: ">=6.0.0"
|
|
101
|
+
};
|
|
102
|
+
const strapi = {
|
|
103
|
+
displayName: "Documentation",
|
|
104
|
+
name: "documentation",
|
|
105
|
+
description: "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
|
|
106
|
+
kind: "plugin"
|
|
107
|
+
};
|
|
108
|
+
const gitHead = "ecfbf5ede664b0e56f8dd828fd26bd63903b3d14";
|
|
109
|
+
const pluginPkg = {
|
|
110
|
+
name: name$1,
|
|
111
|
+
version,
|
|
112
|
+
description,
|
|
113
|
+
repository,
|
|
114
|
+
license,
|
|
115
|
+
author,
|
|
116
|
+
maintainers,
|
|
117
|
+
exports: exports$1,
|
|
118
|
+
scripts,
|
|
119
|
+
dependencies,
|
|
120
|
+
devDependencies,
|
|
121
|
+
peerDependencies,
|
|
122
|
+
engines,
|
|
123
|
+
strapi,
|
|
124
|
+
gitHead
|
|
125
|
+
};
|
|
126
|
+
const PERMISSIONS = {
|
|
127
|
+
// This permission regards the main component (App) and is used to tell
|
|
128
|
+
// If the plugin link should be displayed in the menu
|
|
129
|
+
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
|
130
|
+
// plugin directly in the browser
|
|
131
|
+
main: [
|
|
132
|
+
{ action: "plugin::documentation.read", subject: null },
|
|
133
|
+
{ action: "plugin::documentation.settings.regenerate", subject: null },
|
|
134
|
+
{ action: "plugin::documentation.settings.update", subject: null }
|
|
135
|
+
],
|
|
136
|
+
open: [
|
|
137
|
+
{ action: "plugin::documentation.read", subject: null },
|
|
138
|
+
{ action: "plugin::documentation.settings.regenerate", subject: null }
|
|
139
|
+
],
|
|
140
|
+
regenerate: [{ action: "plugin::documentation.settings.regenerate", subject: null }],
|
|
141
|
+
update: [{ action: "plugin::documentation.settings.update", subject: null }]
|
|
142
|
+
};
|
|
143
|
+
const pluginId = pluginPkg.name.replace(/^@strapi\/plugin-/i, "");
|
|
144
|
+
const name = pluginPkg.strapi.name;
|
|
145
|
+
const index = {
|
|
146
|
+
register(app) {
|
|
147
|
+
app.addMenuLink({
|
|
148
|
+
to: `/plugins/${pluginId}`,
|
|
149
|
+
icon: icons.Information,
|
|
150
|
+
intlLabel: {
|
|
151
|
+
id: `${pluginId}.plugin.name`,
|
|
152
|
+
defaultMessage: "Documentation"
|
|
153
|
+
},
|
|
154
|
+
permissions: PERMISSIONS.main,
|
|
155
|
+
async Component() {
|
|
156
|
+
const component = await Promise.resolve().then(() => require("./index-7cac1b41.js"));
|
|
157
|
+
return component;
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
app.registerPlugin({
|
|
161
|
+
id: pluginId,
|
|
162
|
+
name
|
|
163
|
+
});
|
|
164
|
+
},
|
|
165
|
+
bootstrap(app) {
|
|
166
|
+
app.addSettingsLink("global", {
|
|
167
|
+
intlLabel: {
|
|
168
|
+
id: `${pluginId}.plugin.name`,
|
|
169
|
+
defaultMessage: "Documentation"
|
|
170
|
+
},
|
|
171
|
+
id: "documentation",
|
|
172
|
+
to: `/settings/${pluginId}`,
|
|
173
|
+
async Component() {
|
|
174
|
+
const component = await Promise.resolve().then(() => require("./index-eadd6467.js"));
|
|
175
|
+
return component;
|
|
176
|
+
},
|
|
177
|
+
permissions: PERMISSIONS.main
|
|
178
|
+
});
|
|
179
|
+
},
|
|
180
|
+
async registerTrads({ locales }) {
|
|
181
|
+
const importedTrads = await Promise.all(
|
|
182
|
+
locales.map((locale) => {
|
|
183
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-3945178e.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-053272e2.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-09853142.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-05d66fde.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-70db76ff.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-497d8815.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-24238f91.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-e9ab0af3.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-5255d492.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-34e7eb26.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-63bb66e1.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-0319020c.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-2d57c604.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-cf80ef96.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-b91837bc.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-91348271.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-10c03ab1.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-e5237308.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-200a02f1.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-fd36715f.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-cb462605.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-d2e2e100.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-c2e4b737.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-8da2191f.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
|
|
184
|
+
return {
|
|
185
|
+
data: helperPlugin.prefixPluginTranslations(data, pluginId),
|
|
186
|
+
locale
|
|
187
|
+
};
|
|
188
|
+
}).catch(() => {
|
|
189
|
+
return {
|
|
190
|
+
data: {},
|
|
191
|
+
locale
|
|
192
|
+
};
|
|
193
|
+
});
|
|
194
|
+
})
|
|
195
|
+
);
|
|
196
|
+
return Promise.resolve(importedTrads);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
exports.PERMISSIONS = PERMISSIONS;
|
|
200
|
+
exports.index = index;
|
|
201
|
+
exports.pluginId = pluginId;
|
|
202
|
+
//# sourceMappingURL=index-9bf29e09.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-9bf29e09.js","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n { action: 'plugin::documentation.settings.update', subject: null },\n ],\n open: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n ],\n regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],\n update: [{ action: 'plugin::documentation.settings.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","// NOTE TO PLUGINS DEVELOPERS:\n// If you modify this file by adding new options to the plugin entry point\n// Here's the file: strapi/docs/3.0.0-beta.x/plugin-development/frontend-field-api.md\n// Here's the file: strapi/docs/3.0.0-beta.x/guides/registering-a-field-in-admin.md\n// Also the strapi-generate-plugins/files/admin/src/index.js needs to be updated\n// IF THE DOC IS NOT UPDATED THE PULL REQUEST WILL NOT BE MERGED\nimport { prefixPluginTranslations } from '@strapi/helper-plugin';\nimport { Information } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport pluginId from './pluginId';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n app.addMenuLink({\n to: `/plugins/${pluginId}`,\n icon: Information,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Documentation',\n },\n permissions: PERMISSIONS.main,\n async Component() {\n const component = await import('./pages/PluginPage');\n\n return component;\n },\n });\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n bootstrap(app) {\n app.addSettingsLink('global', {\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Documentation',\n },\n id: 'documentation',\n to: `/settings/${pluginId}`,\n async Component() {\n const component = await import('./pages/SettingsPage');\n\n return component;\n },\n permissions: PERMISSIONS.main,\n });\n },\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["Information","prefixPluginTranslations"],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { prefixPluginTranslations } from "@strapi/helper-plugin";
|
|
2
|
+
import { Information } from "@strapi/icons";
|
|
3
|
+
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
|
4
|
+
const v = glob[path];
|
|
5
|
+
if (v) {
|
|
6
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
7
|
+
}
|
|
8
|
+
return new Promise((_, reject) => {
|
|
9
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
const name$1 = "@strapi/plugin-documentation";
|
|
13
|
+
const version = "4.15.5-alpha.0";
|
|
14
|
+
const description = "Create an OpenAPI Document and visualize your API with SWAGGER UI.";
|
|
15
|
+
const repository = {
|
|
16
|
+
type: "git",
|
|
17
|
+
url: "https://github.com/strapi/strapi.git",
|
|
18
|
+
directory: "packages/plugins/documentation"
|
|
19
|
+
};
|
|
20
|
+
const license = "SEE LICENSE IN LICENSE";
|
|
21
|
+
const author = {
|
|
22
|
+
name: "Strapi Solutions SAS",
|
|
23
|
+
email: "hi@strapi.io",
|
|
24
|
+
url: "https://strapi.io"
|
|
25
|
+
};
|
|
26
|
+
const maintainers = [
|
|
27
|
+
{
|
|
28
|
+
name: "Strapi Solutions SAS",
|
|
29
|
+
email: "hi@strapi.io",
|
|
30
|
+
url: "https://strapi.io"
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
const exports = {
|
|
34
|
+
"./strapi-admin": {
|
|
35
|
+
source: "./admin/src/index.js",
|
|
36
|
+
"import": "./dist/admin/index.mjs",
|
|
37
|
+
require: "./dist/admin/index.js",
|
|
38
|
+
"default": "./dist/admin/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./strapi-server": {
|
|
41
|
+
source: "./strapi-server.js",
|
|
42
|
+
require: "./strapi-server.js",
|
|
43
|
+
"default": "./strapi-server.js"
|
|
44
|
+
},
|
|
45
|
+
"./package.json": "./package.json"
|
|
46
|
+
};
|
|
47
|
+
const scripts = {
|
|
48
|
+
build: "pack-up build",
|
|
49
|
+
clean: "run -T rimraf dist",
|
|
50
|
+
lint: "run -T eslint .",
|
|
51
|
+
prepublishOnly: "yarn clean && yarn build",
|
|
52
|
+
"test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
|
|
53
|
+
"test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
|
|
54
|
+
"test:unit": "jest --verbose",
|
|
55
|
+
"test:unit:watch": "run -T jest --watch",
|
|
56
|
+
watch: "pack-up watch"
|
|
57
|
+
};
|
|
58
|
+
const dependencies = {
|
|
59
|
+
"@strapi/design-system": "1.13.0",
|
|
60
|
+
"@strapi/helper-plugin": "4.15.5-alpha.0",
|
|
61
|
+
"@strapi/icons": "1.13.0",
|
|
62
|
+
"@strapi/utils": "4.15.5-alpha.0",
|
|
63
|
+
bcryptjs: "2.4.3",
|
|
64
|
+
cheerio: "^1.0.0-rc.12",
|
|
65
|
+
formik: "2.4.0",
|
|
66
|
+
"fs-extra": "10.0.0",
|
|
67
|
+
immer: "9.0.19",
|
|
68
|
+
"koa-static": "^5.0.0",
|
|
69
|
+
lodash: "4.17.21",
|
|
70
|
+
"path-to-regexp": "6.2.1",
|
|
71
|
+
"react-helmet": "^6.1.0",
|
|
72
|
+
"react-intl": "6.4.1",
|
|
73
|
+
"react-query": "3.39.3",
|
|
74
|
+
"swagger-ui-dist": "4.19.0",
|
|
75
|
+
yaml: "1.10.2",
|
|
76
|
+
yup: "0.32.9"
|
|
77
|
+
};
|
|
78
|
+
const devDependencies = {
|
|
79
|
+
"@apidevtools/swagger-parser": "^10.1.0",
|
|
80
|
+
"@strapi/pack-up": "4.15.5-alpha.0",
|
|
81
|
+
"@strapi/strapi": "4.15.5-alpha.0",
|
|
82
|
+
"@testing-library/react": "14.0.0",
|
|
83
|
+
"@testing-library/user-event": "14.4.3",
|
|
84
|
+
msw: "1.3.0",
|
|
85
|
+
react: "^18.2.0",
|
|
86
|
+
"react-dom": "^18.2.0",
|
|
87
|
+
"react-router-dom": "5.3.4",
|
|
88
|
+
"styled-components": "5.3.3"
|
|
89
|
+
};
|
|
90
|
+
const peerDependencies = {
|
|
91
|
+
"@strapi/strapi": "^4.0.0",
|
|
92
|
+
react: "^17.0.0 || ^18.0.0",
|
|
93
|
+
"react-dom": "^17.0.0 || ^18.0.0",
|
|
94
|
+
"react-router-dom": "^5.2.0",
|
|
95
|
+
"styled-components": "^5.2.1"
|
|
96
|
+
};
|
|
97
|
+
const engines = {
|
|
98
|
+
node: ">=18.0.0 <=20.x.x",
|
|
99
|
+
npm: ">=6.0.0"
|
|
100
|
+
};
|
|
101
|
+
const strapi = {
|
|
102
|
+
displayName: "Documentation",
|
|
103
|
+
name: "documentation",
|
|
104
|
+
description: "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
|
|
105
|
+
kind: "plugin"
|
|
106
|
+
};
|
|
107
|
+
const gitHead = "ecfbf5ede664b0e56f8dd828fd26bd63903b3d14";
|
|
108
|
+
const pluginPkg = {
|
|
109
|
+
name: name$1,
|
|
110
|
+
version,
|
|
111
|
+
description,
|
|
112
|
+
repository,
|
|
113
|
+
license,
|
|
114
|
+
author,
|
|
115
|
+
maintainers,
|
|
116
|
+
exports,
|
|
117
|
+
scripts,
|
|
118
|
+
dependencies,
|
|
119
|
+
devDependencies,
|
|
120
|
+
peerDependencies,
|
|
121
|
+
engines,
|
|
122
|
+
strapi,
|
|
123
|
+
gitHead
|
|
124
|
+
};
|
|
125
|
+
const PERMISSIONS = {
|
|
126
|
+
// This permission regards the main component (App) and is used to tell
|
|
127
|
+
// If the plugin link should be displayed in the menu
|
|
128
|
+
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
|
129
|
+
// plugin directly in the browser
|
|
130
|
+
main: [
|
|
131
|
+
{ action: "plugin::documentation.read", subject: null },
|
|
132
|
+
{ action: "plugin::documentation.settings.regenerate", subject: null },
|
|
133
|
+
{ action: "plugin::documentation.settings.update", subject: null }
|
|
134
|
+
],
|
|
135
|
+
open: [
|
|
136
|
+
{ action: "plugin::documentation.read", subject: null },
|
|
137
|
+
{ action: "plugin::documentation.settings.regenerate", subject: null }
|
|
138
|
+
],
|
|
139
|
+
regenerate: [{ action: "plugin::documentation.settings.regenerate", subject: null }],
|
|
140
|
+
update: [{ action: "plugin::documentation.settings.update", subject: null }]
|
|
141
|
+
};
|
|
142
|
+
const pluginId = pluginPkg.name.replace(/^@strapi\/plugin-/i, "");
|
|
143
|
+
const name = pluginPkg.strapi.name;
|
|
144
|
+
const index = {
|
|
145
|
+
register(app) {
|
|
146
|
+
app.addMenuLink({
|
|
147
|
+
to: `/plugins/${pluginId}`,
|
|
148
|
+
icon: Information,
|
|
149
|
+
intlLabel: {
|
|
150
|
+
id: `${pluginId}.plugin.name`,
|
|
151
|
+
defaultMessage: "Documentation"
|
|
152
|
+
},
|
|
153
|
+
permissions: PERMISSIONS.main,
|
|
154
|
+
async Component() {
|
|
155
|
+
const component = await import("./index-ed965abb.mjs");
|
|
156
|
+
return component;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
app.registerPlugin({
|
|
160
|
+
id: pluginId,
|
|
161
|
+
name
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
bootstrap(app) {
|
|
165
|
+
app.addSettingsLink("global", {
|
|
166
|
+
intlLabel: {
|
|
167
|
+
id: `${pluginId}.plugin.name`,
|
|
168
|
+
defaultMessage: "Documentation"
|
|
169
|
+
},
|
|
170
|
+
id: "documentation",
|
|
171
|
+
to: `/settings/${pluginId}`,
|
|
172
|
+
async Component() {
|
|
173
|
+
const component = await import("./index-bee3292d.mjs");
|
|
174
|
+
return component;
|
|
175
|
+
},
|
|
176
|
+
permissions: PERMISSIONS.main
|
|
177
|
+
});
|
|
178
|
+
},
|
|
179
|
+
async registerTrads({ locales }) {
|
|
180
|
+
const importedTrads = await Promise.all(
|
|
181
|
+
locales.map((locale) => {
|
|
182
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-a504b634.mjs"), "./translations/cs.json": () => import("./cs-feb7f04c.mjs"), "./translations/de.json": () => import("./de-a33e1fea.mjs"), "./translations/dk.json": () => import("./dk-ed9fcdcf.mjs"), "./translations/en.json": () => import("./en-96395a32.mjs"), "./translations/es.json": () => import("./es-22de55e3.mjs"), "./translations/fr.json": () => import("./fr-70c3898d.mjs"), "./translations/id.json": () => import("./id-e9e00780.mjs"), "./translations/it.json": () => import("./it-28ef2963.mjs"), "./translations/ko.json": () => import("./ko-a29301ee.mjs"), "./translations/ms.json": () => import("./ms-87588bdb.mjs"), "./translations/nl.json": () => import("./nl-91bcd809.mjs"), "./translations/pl.json": () => import("./pl-7d7fe7b2.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-0024d4be.mjs"), "./translations/pt.json": () => import("./pt-9b66f3d5.mjs"), "./translations/ru.json": () => import("./ru-468d9a30.mjs"), "./translations/sk.json": () => import("./sk-01b7713b.mjs"), "./translations/sv.json": () => import("./sv-7edbe28d.mjs"), "./translations/th.json": () => import("./th-4fcead7f.mjs"), "./translations/tr.json": () => import("./tr-8290d257.mjs"), "./translations/uk.json": () => import("./uk-bf914720.mjs"), "./translations/vi.json": () => import("./vi-ddc8357e.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-6cefb513.mjs"), "./translations/zh.json": () => import("./zh-7b489db7.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
|
|
183
|
+
return {
|
|
184
|
+
data: prefixPluginTranslations(data, pluginId),
|
|
185
|
+
locale
|
|
186
|
+
};
|
|
187
|
+
}).catch(() => {
|
|
188
|
+
return {
|
|
189
|
+
data: {},
|
|
190
|
+
locale
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
})
|
|
194
|
+
);
|
|
195
|
+
return Promise.resolve(importedTrads);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
export {
|
|
199
|
+
PERMISSIONS as P,
|
|
200
|
+
index as i,
|
|
201
|
+
pluginId as p
|
|
202
|
+
};
|
|
203
|
+
//# sourceMappingURL=index-b6b0a55d.mjs.map
|