strapi-plugin-comments 2.0.10 → 2.0.11

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.
Files changed (261) hide show
  1. package/README.md +39 -5
  2. package/admin/src/translations/fr.json +132 -1
  3. package/build/README.md +818 -0
  4. package/build/admin/src/components/ActionButton/styles.d.ts +2 -0
  5. package/build/admin/src/components/ActionButton/styles.js +17 -0
  6. package/build/admin/src/components/ConfirmationDialog/index.d.ts +26 -0
  7. package/build/admin/src/components/ConfirmationDialog/index.js +104 -0
  8. package/build/admin/src/components/DiscussionStatus/index.d.ts +9 -0
  9. package/build/admin/src/components/DiscussionStatus/index.js +38 -0
  10. package/build/admin/src/components/DiscussionThread/index.d.ts +16 -0
  11. package/build/admin/src/components/DiscussionThread/index.js +99 -0
  12. package/build/admin/src/components/DiscussionThreadItem/index.d.ts +9 -0
  13. package/build/admin/src/components/DiscussionThreadItem/index.js +72 -0
  14. package/build/admin/src/components/DiscussionThreadItem/styles.d.ts +4 -0
  15. package/build/admin/src/components/DiscussionThreadItem/styles.js +27 -0
  16. package/build/admin/src/components/DiscussionThreadItemActions/index.d.ts +19 -0
  17. package/build/admin/src/components/DiscussionThreadItemActions/index.js +414 -0
  18. package/build/admin/src/components/DiscussionThreadItemActions/styles.d.ts +2 -0
  19. package/build/admin/src/components/DiscussionThreadItemActions/styles.js +17 -0
  20. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.d.ts +17 -0
  21. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.js +103 -0
  22. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.d.ts +2 -0
  23. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.js +15 -0
  24. package/build/admin/src/components/DiscussionThreadItemFooter/index.d.ts +16 -0
  25. package/build/admin/src/components/DiscussionThreadItemFooter/index.js +73 -0
  26. package/build/admin/src/components/DiscussionThreadItemFooter/styles.d.ts +3 -0
  27. package/build/admin/src/components/DiscussionThreadItemFooter/styles.js +25 -0
  28. package/build/admin/src/components/DiscussionThreadItemReviewAction/index.d.ts +30 -0
  29. package/build/admin/src/components/DiscussionThreadItemReviewAction/index.js +233 -0
  30. package/build/admin/src/components/FormSwitch/index.d.ts +11 -0
  31. package/build/admin/src/components/FormSwitch/index.js +39 -0
  32. package/build/admin/src/components/FormSwitch/styles.d.ts +2 -0
  33. package/build/admin/src/components/FormSwitch/styles.js +16 -0
  34. package/build/admin/src/components/IconButton/styles.d.ts +2 -0
  35. package/build/admin/src/components/IconButton/styles.js +27 -0
  36. package/build/admin/src/components/Initializer/index.d.ts +3 -0
  37. package/build/admin/src/components/Initializer/index.js +14 -0
  38. package/build/admin/src/components/LoadingIndicatorOverlay/index.d.ts +3 -0
  39. package/build/admin/src/components/LoadingIndicatorOverlay/index.js +18 -0
  40. package/build/admin/src/components/LoadingIndicatorOverlay/styles.d.ts +3 -0
  41. package/build/admin/src/components/LoadingIndicatorOverlay/styles.js +32 -0
  42. package/build/admin/src/components/Nav/index.d.ts +7 -0
  43. package/build/admin/src/components/Nav/index.js +72 -0
  44. package/build/admin/src/components/PluginIcon/index.d.ts +3 -0
  45. package/build/admin/src/components/PluginIcon/index.js +13 -0
  46. package/build/admin/src/components/ReportsReviewModal/index.d.ts +21 -0
  47. package/build/admin/src/components/ReportsReviewModal/index.js +72 -0
  48. package/build/admin/src/components/ReportsReviewTable/index.d.ts +21 -0
  49. package/build/admin/src/components/ReportsReviewTable/index.js +321 -0
  50. package/build/admin/src/components/StatusBadge/index.d.ts +11 -0
  51. package/build/admin/src/components/StatusBadge/index.js +22 -0
  52. package/build/admin/src/components/StatusBadge/styles.d.ts +2 -0
  53. package/build/admin/src/components/StatusBadge/styles.js +25 -0
  54. package/build/admin/src/components/TableFilters/index.d.ts +10 -0
  55. package/build/admin/src/components/TableFilters/index.js +109 -0
  56. package/build/admin/src/components/TablePagination/index.d.ts +15 -0
  57. package/build/admin/src/components/TablePagination/index.js +45 -0
  58. package/build/admin/src/components/icons/comments.d.ts +9 -0
  59. package/build/admin/src/components/icons/comments.js +23 -0
  60. package/build/admin/src/components/icons/index.d.ts +6 -0
  61. package/build/admin/src/components/icons/index.js +21 -0
  62. package/build/admin/src/components/icons/lock.d.ts +11 -0
  63. package/build/admin/src/components/icons/lock.js +29 -0
  64. package/build/admin/src/components/icons/review.d.ts +11 -0
  65. package/build/admin/src/components/icons/review.js +31 -0
  66. package/build/admin/src/components/icons/unlock.d.ts +11 -0
  67. package/build/admin/src/components/icons/unlock.js +29 -0
  68. package/build/admin/src/hooks/useConfig.d.ts +8 -0
  69. package/build/admin/src/hooks/useConfig.js +52 -0
  70. package/build/admin/src/index.d.ts +7 -0
  71. package/build/admin/src/index.js +137 -0
  72. package/build/admin/src/pages/App/index.d.ts +4 -0
  73. package/build/admin/src/pages/App/index.js +90 -0
  74. package/build/admin/src/pages/App/reducer/actions.d.ts +8 -0
  75. package/build/admin/src/pages/App/reducer/actions.js +12 -0
  76. package/build/admin/src/pages/App/reducer/constants.d.ts +4 -0
  77. package/build/admin/src/pages/App/reducer/constants.js +7 -0
  78. package/build/admin/src/pages/App/reducer/index.d.ts +14 -0
  79. package/build/admin/src/pages/App/reducer/index.js +31 -0
  80. package/build/admin/src/pages/App/reducer/init.d.ts +3 -0
  81. package/build/admin/src/pages/App/reducer/init.js +9 -0
  82. package/build/admin/src/pages/App/reducer/selectors.d.ts +6 -0
  83. package/build/admin/src/pages/App/reducer/selectors.js +20 -0
  84. package/build/admin/src/pages/App/utils/api.d.ts +2 -0
  85. package/build/admin/src/pages/App/utils/api.js +16 -0
  86. package/build/admin/src/pages/ComingSoonPage/index.d.ts +3 -0
  87. package/build/admin/src/pages/ComingSoonPage/index.js +78 -0
  88. package/build/admin/src/pages/Details/components/DetailsEntity/index.d.ts +18 -0
  89. package/build/admin/src/pages/Details/components/DetailsEntity/index.js +132 -0
  90. package/build/admin/src/pages/Details/components/DetailsFilters/index.d.ts +12 -0
  91. package/build/admin/src/pages/Details/components/DetailsFilters/index.js +48 -0
  92. package/build/admin/src/pages/Details/components/DetailsFilters/styles.d.ts +2 -0
  93. package/build/admin/src/pages/Details/components/DetailsFilters/styles.js +16 -0
  94. package/build/admin/src/pages/Details/index.d.ts +4 -0
  95. package/build/admin/src/pages/Details/index.js +216 -0
  96. package/build/admin/src/pages/Discover/components/DiscoverTableRow/index.d.ts +20 -0
  97. package/build/admin/src/pages/Discover/components/DiscoverTableRow/index.js +344 -0
  98. package/build/admin/src/pages/Discover/components/DiscoverTableRow/styles.d.ts +2 -0
  99. package/build/admin/src/pages/Discover/components/DiscoverTableRow/styles.js +16 -0
  100. package/build/admin/src/pages/Discover/index.d.ts +4 -0
  101. package/build/admin/src/pages/Discover/index.js +332 -0
  102. package/build/admin/src/pages/Discover/utils/api.d.ts +2 -0
  103. package/build/admin/src/pages/Discover/utils/api.js +23 -0
  104. package/build/admin/src/pages/Discover/utils/filtersSchema.d.ts +11 -0
  105. package/build/admin/src/pages/Discover/utils/filtersSchema.js +11 -0
  106. package/build/admin/src/pages/Settings/components/RestartAlert/styles.d.ts +2 -0
  107. package/build/admin/src/pages/Settings/components/RestartAlert/styles.js +16 -0
  108. package/build/admin/src/pages/Settings/index.d.ts +3 -0
  109. package/build/admin/src/pages/Settings/index.js +712 -0
  110. package/build/admin/src/pages/Settings/utils/api.d.ts +7 -0
  111. package/build/admin/src/pages/Settings/utils/api.js +80 -0
  112. package/build/admin/src/pages/utils/api.d.ts +12 -0
  113. package/build/admin/src/pages/utils/api.js +83 -0
  114. package/build/admin/src/permissions.d.ts +28 -0
  115. package/build/admin/src/permissions.js +65 -0
  116. package/build/admin/src/pluginId.d.ts +2 -0
  117. package/build/admin/src/pluginId.js +50 -0
  118. package/build/admin/src/reducers.d.ts +12 -0
  119. package/build/admin/src/reducers.js +14 -0
  120. package/build/admin/src/translations/en.json +132 -0
  121. package/build/admin/src/translations/fr.json +1 -0
  122. package/build/admin/src/translations/pt-BR.json +132 -0
  123. package/build/admin/src/utils/axiosInstance.d.ts +3 -0
  124. package/build/admin/src/utils/axiosInstance.js +37 -0
  125. package/build/admin/src/utils/constants.d.ts +25 -0
  126. package/build/admin/src/utils/constants.js +30 -0
  127. package/build/admin/src/utils/getApiUrl.d.ts +3 -0
  128. package/build/admin/src/utils/getApiUrl.js +6 -0
  129. package/build/admin/src/utils/getMessage.d.ts +4 -0
  130. package/build/admin/src/utils/getMessage.js +25 -0
  131. package/build/admin/src/utils/getRelatedGroups.d.ts +4 -0
  132. package/build/admin/src/utils/getRelatedGroups.js +6 -0
  133. package/build/admin/src/utils/getUrl.d.ts +3 -0
  134. package/build/admin/src/utils/getUrl.js +6 -0
  135. package/build/admin/src/utils/handleAPIError.d.ts +4 -0
  136. package/build/admin/src/utils/handleAPIError.js +20 -0
  137. package/build/admin/src/utils/index.d.ts +12 -0
  138. package/build/admin/src/utils/index.js +97 -0
  139. package/build/admin/src/utils/parseRegExp.d.ts +6 -0
  140. package/build/admin/src/utils/parseRegExp.js +11 -0
  141. package/build/admin/src/utils/renderEntryTitle.d.ts +4 -0
  142. package/build/admin/src/utils/renderEntryTitle.js +16 -0
  143. package/build/admin/src/utils/renderInitials.d.ts +3 -0
  144. package/build/admin/src/utils/renderInitials.js +11 -0
  145. package/build/admin/src/utils/resolveCommentStatus.d.ts +4 -0
  146. package/build/admin/src/utils/resolveCommentStatus.js +32 -0
  147. package/build/admin/src/utils/resolveCommentStatusColor.d.ts +4 -0
  148. package/build/admin/src/utils/resolveCommentStatusColor.js +22 -0
  149. package/build/content-types/comment.d.ts +91 -0
  150. package/build/content-types/comment.js +92 -0
  151. package/build/content-types/index.d.ts +143 -0
  152. package/build/content-types/index.js +18 -0
  153. package/build/content-types/report.d.ts +48 -0
  154. package/build/content-types/report.js +49 -0
  155. package/build/package.json +94 -0
  156. package/build/permissions.d.ts +18 -0
  157. package/build/permissions.js +18 -0
  158. package/build/server/bootstrap.d.ts +4 -0
  159. package/build/server/bootstrap.js +65 -0
  160. package/build/server/config/index.d.ts +4 -0
  161. package/build/server/config/index.js +19 -0
  162. package/build/server/controllers/admin.d.ts +4 -0
  163. package/build/server/controllers/admin.js +124 -0
  164. package/build/server/controllers/client.d.ts +4 -0
  165. package/build/server/controllers/client.js +111 -0
  166. package/build/server/controllers/index.d.ts +6 -0
  167. package/build/server/controllers/index.js +15 -0
  168. package/build/server/controllers/utils/functions.d.ts +7 -0
  169. package/build/server/controllers/utils/functions.js +24 -0
  170. package/build/server/controllers/utils/parsers.d.ts +15 -0
  171. package/build/server/controllers/utils/parsers.js +25 -0
  172. package/build/server/destroy.d.ts +3 -0
  173. package/build/server/destroy.js +3 -0
  174. package/build/server/graphql/index.d.ts +4 -0
  175. package/build/server/graphql/index.js +37 -0
  176. package/build/server/graphql/mutations/createAbuseReport.d.ts +11 -0
  177. package/build/server/graphql/mutations/createAbuseReport.js +27 -0
  178. package/build/server/graphql/mutations/createComment.d.ts +14 -0
  179. package/build/server/graphql/mutations/createComment.js +26 -0
  180. package/build/server/graphql/mutations/index.d.ts +4 -0
  181. package/build/server/graphql/mutations/index.js +28 -0
  182. package/build/server/graphql/mutations/removeComment.d.ts +11 -0
  183. package/build/server/graphql/mutations/removeComment.js +27 -0
  184. package/build/server/graphql/mutations/updateComment.d.ts +11 -0
  185. package/build/server/graphql/mutations/updateComment.js +27 -0
  186. package/build/server/graphql/queries/findAllFlat.d.ts +19 -0
  187. package/build/server/graphql/queries/findAllFlat.js +47 -0
  188. package/build/server/graphql/queries/findAllInHierarchy.d.ts +18 -0
  189. package/build/server/graphql/queries/findAllInHierarchy.js +38 -0
  190. package/build/server/graphql/queries/index.d.ts +4 -0
  191. package/build/server/graphql/queries/index.js +24 -0
  192. package/build/server/graphql/resolvers-config.d.ts +23 -0
  193. package/build/server/graphql/resolvers-config.js +13 -0
  194. package/build/server/graphql/types/comment-author.d.ts +4 -0
  195. package/build/server/graphql/types/comment-author.js +12 -0
  196. package/build/server/graphql/types/comment-nested.d.ts +4 -0
  197. package/build/server/graphql/types/comment-nested.js +19 -0
  198. package/build/server/graphql/types/comment.d.ts +4 -0
  199. package/build/server/graphql/types/comment.js +18 -0
  200. package/build/server/graphql/types/create-comment-author.d.ts +4 -0
  201. package/build/server/graphql/types/create-comment-author.js +12 -0
  202. package/build/server/graphql/types/create-comment.d.ts +4 -0
  203. package/build/server/graphql/types/create-comment.js +12 -0
  204. package/build/server/graphql/types/create-report.d.ts +4 -0
  205. package/build/server/graphql/types/create-report.js +12 -0
  206. package/build/server/graphql/types/id.d.ts +4 -0
  207. package/build/server/graphql/types/id.js +26 -0
  208. package/build/server/graphql/types/identify-comment-author.d.ts +4 -0
  209. package/build/server/graphql/types/identify-comment-author.js +9 -0
  210. package/build/server/graphql/types/index.d.ts +4 -0
  211. package/build/server/graphql/types/index.js +44 -0
  212. package/build/server/graphql/types/remove-comment.d.ts +4 -0
  213. package/build/server/graphql/types/remove-comment.js +11 -0
  214. package/build/server/graphql/types/report-reason.d.ts +4 -0
  215. package/build/server/graphql/types/report-reason.js +12 -0
  216. package/build/server/graphql/types/report.d.ts +4 -0
  217. package/build/server/graphql/types/report.js +14 -0
  218. package/build/server/graphql/types/response-find-all.d.ts +4 -0
  219. package/build/server/graphql/types/response-find-all.js +10 -0
  220. package/build/server/graphql/types/response-meta.d.ts +4 -0
  221. package/build/server/graphql/types/response-meta.js +9 -0
  222. package/build/server/graphql/types/response-pagination.d.ts +4 -0
  223. package/build/server/graphql/types/response-pagination.js +14 -0
  224. package/build/server/graphql/types/update-comment.d.ts +4 -0
  225. package/build/server/graphql/types/update-comment.js +12 -0
  226. package/build/server/index.d.ts +26 -0
  227. package/build/server/index.js +25 -0
  228. package/build/server/register.d.ts +3 -0
  229. package/build/server/register.js +3 -0
  230. package/build/server/routes/admin.d.ts +4 -0
  231. package/build/server/routes/admin.js +118 -0
  232. package/build/server/routes/client.d.ts +4 -0
  233. package/build/server/routes/client.js +54 -0
  234. package/build/server/routes/index.d.ts +11 -0
  235. package/build/server/routes/index.js +21 -0
  236. package/build/server/services/admin.d.ts +5 -0
  237. package/build/server/services/admin.js +296 -0
  238. package/build/server/services/client.d.ts +5 -0
  239. package/build/server/services/client.js +247 -0
  240. package/build/server/services/common.d.ts +5 -0
  241. package/build/server/services/common.js +266 -0
  242. package/build/server/services/graphql.d.ts +5 -0
  243. package/build/server/services/graphql.js +136 -0
  244. package/build/server/services/index.d.ts +8 -0
  245. package/build/server/services/index.js +16 -0
  246. package/build/server/services/utils/functions.d.ts +13 -0
  247. package/build/server/services/utils/functions.js +141 -0
  248. package/build/server/utils/constants.d.ts +9 -0
  249. package/build/server/utils/constants.js +23 -0
  250. package/build/server/utils/error.d.ts +23 -0
  251. package/build/server/utils/error.js +29 -0
  252. package/build/server/utils/functions.d.ts +14 -0
  253. package/build/server/utils/functions.js +50 -0
  254. package/build/strapi-admin.d.ts +3 -0
  255. package/build/strapi-admin.js +10 -0
  256. package/build/strapi-server.d.ts +177 -0
  257. package/build/strapi-server.js +46 -0
  258. package/build/tsconfig.tsbuildinfo +1 -0
  259. package/build/types/contentTypes.d.ts +46 -0
  260. package/build/types/contentTypes.js +3 -0
  261. package/package.json +3 -3
@@ -0,0 +1,712 @@
1
+ "use strict";
2
+ var __createBinding =
3
+ (this && this.__createBinding) ||
4
+ (Object.create
5
+ ? function (o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (
9
+ !desc ||
10
+ ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
11
+ ) {
12
+ desc = {
13
+ enumerable: true,
14
+ get: function () {
15
+ return m[k];
16
+ },
17
+ };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }
21
+ : function (o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ });
25
+ var __setModuleDefault =
26
+ (this && this.__setModuleDefault) ||
27
+ (Object.create
28
+ ? function (o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }
31
+ : function (o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar =
35
+ (this && this.__importStar) ||
36
+ function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null)
40
+ for (var k in mod)
41
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
42
+ __createBinding(result, mod, k);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ var __importDefault =
47
+ (this && this.__importDefault) ||
48
+ function (mod) {
49
+ return mod && mod.__esModule ? mod : { default: mod };
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ const react_1 = __importStar(require("react"));
53
+ const react_query_1 = require("react-query");
54
+ const formik_1 = require("formik");
55
+ const lodash_1 = require("lodash");
56
+ const helper_plugin_1 = require("@strapi/helper-plugin");
57
+ const Accordion_1 = require("@strapi/design-system/Accordion");
58
+ const Main_1 = require("@strapi/design-system/Main");
59
+ const Layout_1 = require("@strapi/design-system/Layout");
60
+ const Button_1 = require("@strapi/design-system/Button");
61
+ const Box_1 = require("@strapi/design-system/Box");
62
+ const Stack_1 = require("@strapi/design-system/Stack");
63
+ const Typography_1 = require("@strapi/design-system/Typography");
64
+ const Grid_1 = require("@strapi/design-system/Grid");
65
+ const ToggleInput_1 = require("@strapi/design-system/ToggleInput");
66
+ const Select_1 = require("@strapi/design-system/Select");
67
+ const LiveRegions_1 = require("@strapi/design-system/LiveRegions");
68
+ const Tooltip_1 = require("@strapi/design-system/Tooltip");
69
+ const icons_1 = require("@strapi/icons");
70
+ const permissions_1 = __importDefault(require("../../permissions"));
71
+ const useConfig_1 = __importDefault(require("../../hooks/useConfig"));
72
+ const api_1 = require("./utils/api");
73
+ const utils_1 = require("../../utils");
74
+ const ConfirmationDialog_1 = __importDefault(
75
+ require("../../components/ConfirmationDialog")
76
+ );
77
+ const styles_1 = require("./components/RestartAlert/styles");
78
+ const FormSwitch_1 = __importDefault(require("../../components/FormSwitch"));
79
+ const Settings = () => {
80
+ (0, helper_plugin_1.useFocusWhenNavigate)();
81
+ const { notifyStatus } = (0, LiveRegions_1.useNotifyAT)();
82
+ const { trackUsage } = (0, helper_plugin_1.useTracking)();
83
+ const trackUsageRef = (0, react_1.useRef)(trackUsage);
84
+ const toggleNotification = (0, helper_plugin_1.useNotification)();
85
+ const { lockApp, unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
86
+ const viewPermissions = (0, react_1.useMemo)(
87
+ () => ({
88
+ access: permissions_1.default.settings.read,
89
+ change: permissions_1.default.settings.change,
90
+ }),
91
+ []
92
+ );
93
+ const {
94
+ isLoading: isLoadingForPermissions,
95
+ allowedActions: { canAccess, canChange },
96
+ } = (0, helper_plugin_1.useRBAC)(viewPermissions);
97
+ const [restoreConfigmationVisible, setRestoreConfigmationVisible] = (0,
98
+ react_1.useState)(false);
99
+ const [restartRequired, setRestartRequired] = (0, react_1.useState)(false);
100
+ const [contentTypeExpanded, setContentTypeExpanded] = (0, react_1.useState)(
101
+ undefined
102
+ );
103
+ const { fetch, restartMutation, submitMutation, restoreMutation } = (0,
104
+ useConfig_1.default)(toggleNotification);
105
+ const {
106
+ data: configData,
107
+ isLoading: isConfigLoading,
108
+ err: configErr,
109
+ } = fetch;
110
+ const {
111
+ data: allCollectionsData,
112
+ isLoading: areCollectionsLoading,
113
+ err: collectionsErr,
114
+ } = (0, react_query_1.useQuery)(["get-all-content-types", canAccess], () =>
115
+ (0, api_1.fetchAllContentTypes)(toggleNotification)
116
+ );
117
+ const {
118
+ data: allRolesData,
119
+ isLoading: areRolesLoading,
120
+ err: rolesErr,
121
+ } = (0, react_query_1.useQuery)(["get-all-roles", canAccess], () =>
122
+ (0, api_1.fetchRoles)(toggleNotification)
123
+ );
124
+ const isLoading =
125
+ isLoadingForPermissions ||
126
+ isConfigLoading ||
127
+ areCollectionsLoading ||
128
+ areRolesLoading;
129
+ const isError = configErr || collectionsErr || rolesErr;
130
+ const preparePayload = ({
131
+ enabledCollections,
132
+ gqlAuthEnabled,
133
+ approvalFlow,
134
+ entryLabel,
135
+ ...rest
136
+ }) => ({
137
+ ...rest,
138
+ enabledCollections,
139
+ approvalFlow: approvalFlow.filter((_) => enabledCollections.includes(_)),
140
+ entryLabel: {
141
+ ...Object.keys(entryLabel).reduce(
142
+ (prev, curr) => ({
143
+ ...prev,
144
+ [curr]: enabledCollections.includes(curr)
145
+ ? entryLabel[curr]
146
+ : undefined,
147
+ }),
148
+ {}
149
+ ),
150
+ "*": entryLabel["*"],
151
+ },
152
+ reportReasons: configData?.reportReasons,
153
+ gql: gqlAuthEnabled ? { auth: true } : undefined,
154
+ });
155
+ if (isLoading || isError) {
156
+ return react_1.default.createElement(
157
+ helper_plugin_1.LoadingIndicatorPage,
158
+ null,
159
+ (0, utils_1.getMessage)("page.settings.loading")
160
+ );
161
+ }
162
+ const regexUID = !isLoading
163
+ ? new RegExp(
164
+ (0, utils_1.parseRegExp)(fetch.data.regex?.uid).value,
165
+ (0, utils_1.parseRegExp)(fetch.data.regex?.uid).flags
166
+ )
167
+ : null;
168
+ const allRoles = allRolesData?.data || [];
169
+ const allCollections =
170
+ !isLoading &&
171
+ allCollectionsData.filter(
172
+ ({ uid }) =>
173
+ (0, lodash_1.first)(
174
+ uid.split(regexUID).filter((s) => s && s.length > 0)
175
+ ) === "api"
176
+ );
177
+ const enabledCollections =
178
+ configData?.enabledCollections
179
+ ?.map((uid) =>
180
+ allCollections.find((_) => _.uid === uid) ? uid : undefined
181
+ )
182
+ .filter((_) => _) || [];
183
+ const entryLabel = configData?.entryLabel || {};
184
+ const approvalFlow = configData?.approvalFlow || [];
185
+ const badWords = (0, lodash_1.isNil)(configData?.badWords)
186
+ ? true
187
+ : configData?.badWords;
188
+ const isGQLPluginEnabled = configData?.isGQLPluginEnabled;
189
+ const gqlAuthEnabled = configData?.gql?.auth || undefined;
190
+ const moderatorRoles =
191
+ configData?.moderatorRoles?.filter((code) =>
192
+ allRoles.find((_) => _.code === code)
193
+ ) || [];
194
+ const changeApprovalFlowFor = (uid, current, value) => {
195
+ const currentSet = new Set(current);
196
+ if (value) {
197
+ currentSet.add(uid);
198
+ } else {
199
+ currentSet.delete(uid);
200
+ }
201
+ return Array.from(currentSet);
202
+ };
203
+ const changeEntryLabelFor = (uid, current, value) => ({
204
+ ...current,
205
+ [uid]: value && !(0, lodash_1.isEmpty)(value) ? [...value] : undefined,
206
+ });
207
+ const handleUpdateConfiguration = async (form) => {
208
+ if (canChange) {
209
+ lockApp();
210
+ const payload = preparePayload(form);
211
+ await submitMutation.mutateAsync(payload);
212
+ const enabledCollectionsChanged = !(0, lodash_1.isEqual)(
213
+ payload.enabledCollections,
214
+ configData?.enabledCollections
215
+ );
216
+ const gqlAuthChanged = !(0, lodash_1.isEqual)(
217
+ payload.gql?.auth,
218
+ configData?.gql?.auth
219
+ );
220
+ if (enabledCollectionsChanged || gqlAuthChanged) {
221
+ setRestartRequired(true);
222
+ }
223
+ unlockApp();
224
+ }
225
+ };
226
+ const handleRestoreConfirmation = () => setRestoreConfigmationVisible(true);
227
+ const handleRestoreConfiguration = async () => {
228
+ if (canChange) {
229
+ lockApp();
230
+ await restoreMutation.mutateAsync();
231
+ unlockApp();
232
+ setRestartRequired(true);
233
+ setRestoreConfigmationVisible(false);
234
+ }
235
+ };
236
+ const handleRestoreCancel = () => setRestoreConfigmationVisible(false);
237
+ const handleRestart = async () => {
238
+ if (canChange) {
239
+ lockApp();
240
+ await restartMutation.mutateAsync();
241
+ setRestartRequired(false);
242
+ unlockApp();
243
+ }
244
+ };
245
+ const handleRestartDiscard = () => setRestartRequired(false);
246
+ const handleSetContentTypeExpanded = (key) =>
247
+ setContentTypeExpanded(key === contentTypeExpanded ? undefined : key);
248
+ const boxDefaultProps = {
249
+ background: "neutral0",
250
+ hasRadius: true,
251
+ shadow: "filterShadow",
252
+ padding: 6,
253
+ };
254
+ return react_1.default.createElement(
255
+ Main_1.Main,
256
+ null,
257
+ react_1.default.createElement(
258
+ formik_1.Formik,
259
+ {
260
+ initialValues: {
261
+ enabledCollections,
262
+ moderatorRoles,
263
+ badWords,
264
+ approvalFlow,
265
+ entryLabel,
266
+ gqlAuthEnabled,
267
+ },
268
+ enableReinitialize: true,
269
+ onSubmit: handleUpdateConfiguration,
270
+ },
271
+ ({ handleSubmit, setFieldValue, values }) =>
272
+ react_1.default.createElement(
273
+ helper_plugin_1.Form,
274
+ { noValidate: true, onSubmit: handleSubmit },
275
+ react_1.default.createElement(Layout_1.HeaderLayout, {
276
+ title: (0, utils_1.getMessage)("page.settings.header.title"),
277
+ subtitle: (0, utils_1.getMessage)(
278
+ "page.settings.header.description"
279
+ ),
280
+ primaryAction: react_1.default.createElement(
281
+ helper_plugin_1.CheckPermissions,
282
+ { permissions: permissions_1.default.settingsChange },
283
+ react_1.default.createElement(
284
+ Button_1.Button,
285
+ {
286
+ type: "submit",
287
+ startIcon: react_1.default.createElement(icons_1.Check, null),
288
+ disabled: restartRequired,
289
+ },
290
+ (0, utils_1.getMessage)("page.settings.actions.submit")
291
+ )
292
+ ),
293
+ }),
294
+ react_1.default.createElement(
295
+ Layout_1.ContentLayout,
296
+ null,
297
+ react_1.default.createElement(
298
+ Stack_1.Stack,
299
+ { size: 4 },
300
+ restartRequired &&
301
+ react_1.default.createElement(
302
+ styles_1.RestartAlert,
303
+ {
304
+ closeLabel: (0, utils_1.getMessage)(
305
+ "page.settings.actions.restart.alert.cancel"
306
+ ),
307
+ title: (0, utils_1.getMessage)(
308
+ "page.settings.actions.restart.alert.title"
309
+ ),
310
+ action: react_1.default.createElement(
311
+ Box_1.Box,
312
+ null,
313
+ react_1.default.createElement(
314
+ Button_1.Button,
315
+ {
316
+ onClick: handleRestart,
317
+ startIcon: react_1.default.createElement(
318
+ icons_1.Play,
319
+ null
320
+ ),
321
+ },
322
+ (0, utils_1.getMessage)("page.settings.actions.restart")
323
+ )
324
+ ),
325
+ onClose: handleRestartDiscard,
326
+ },
327
+ (0, utils_1.getMessage)(
328
+ "page.settings.actions.restart.alert.description"
329
+ )
330
+ ),
331
+ react_1.default.createElement(
332
+ Box_1.Box,
333
+ { ...boxDefaultProps },
334
+ react_1.default.createElement(
335
+ Stack_1.Stack,
336
+ { size: 4 },
337
+ react_1.default.createElement(
338
+ Typography_1.Typography,
339
+ { variant: "delta", as: "h2" },
340
+ (0, utils_1.getMessage)("page.settings.section.general")
341
+ ),
342
+ react_1.default.createElement(
343
+ Grid_1.Grid,
344
+ { gap: 4 },
345
+ react_1.default.createElement(
346
+ Grid_1.GridItem,
347
+ { col: 12 },
348
+ react_1.default.createElement(
349
+ Select_1.Select,
350
+ {
351
+ name: "enabledCollections",
352
+ label: (0, utils_1.getMessage)(
353
+ "page.settings.form.enabledCollections.label"
354
+ ),
355
+ placeholder: (0, utils_1.getMessage)(
356
+ "page.settings.form.enabledCollections.placeholder"
357
+ ),
358
+ hint: (0, utils_1.getMessage)(
359
+ "page.settings.form.enabledCollections.hint"
360
+ ),
361
+ onClear: () =>
362
+ setFieldValue("enabledCollections", [], false),
363
+ value: values.enabledCollections,
364
+ onChange: (value) =>
365
+ setFieldValue("enabledCollections", value, false),
366
+ disabled: restartRequired,
367
+ multi: true,
368
+ withTags: true,
369
+ },
370
+ allCollections.map(({ uid, schema: { displayName } }) =>
371
+ react_1.default.createElement(
372
+ Select_1.Option,
373
+ { key: uid, value: uid },
374
+ displayName
375
+ )
376
+ )
377
+ )
378
+ ),
379
+ !(0, lodash_1.isEmpty)(values.enabledCollections) &&
380
+ react_1.default.createElement(
381
+ Grid_1.GridItem,
382
+ { col: 12 },
383
+ react_1.default.createElement(
384
+ Accordion_1.AccordionGroup,
385
+ {
386
+ label: (0, utils_1.getMessage)(
387
+ "page.settings.form.contentTypesSettings.label"
388
+ ),
389
+ labelAction: react_1.default.createElement(
390
+ Tooltip_1.Tooltip,
391
+ {
392
+ description: (0, utils_1.getMessage)(
393
+ "page.settings.form.contentTypesSettings.tooltip"
394
+ ),
395
+ },
396
+ react_1.default.createElement(
397
+ icons_1.Information,
398
+ { "aria-hidden": true }
399
+ )
400
+ ),
401
+ },
402
+ (0, lodash_1.orderBy)(values.enabledCollections).map(
403
+ (uid) => {
404
+ const {
405
+ schema: { displayName, attributes = {} },
406
+ } = allCollections.find((_) => _.uid === uid);
407
+ const stringAttributes = Object.keys(
408
+ attributes
409
+ ).filter((_) => attributes[_].type === "string");
410
+ const key = `collectionSettings-${uid}`;
411
+ return react_1.default.createElement(
412
+ Accordion_1.Accordion,
413
+ {
414
+ expanded: contentTypeExpanded === key,
415
+ toggle: () =>
416
+ handleSetContentTypeExpanded(key),
417
+ key: key,
418
+ id: key,
419
+ size: "S",
420
+ },
421
+ react_1.default.createElement(
422
+ Accordion_1.AccordionToggle,
423
+ { title: displayName, togglePosition: "left" }
424
+ ),
425
+ react_1.default.createElement(
426
+ Accordion_1.AccordionContent,
427
+ null,
428
+ react_1.default.createElement(
429
+ Box_1.Box,
430
+ { padding: 6 },
431
+ react_1.default.createElement(
432
+ Stack_1.Stack,
433
+ { size: 4 },
434
+ react_1.default.createElement(
435
+ FormSwitch_1.default,
436
+ {
437
+ name: `collectionSettings-${uid}-approvalFlow`,
438
+ label: (0, utils_1.getMessage)(
439
+ "page.settings.form.approvalFlow.label"
440
+ ),
441
+ hint: (0, utils_1.getMessage)({
442
+ id: "page.settings.form.approvalFlow.hint",
443
+ props: { name: displayName },
444
+ }),
445
+ selected:
446
+ values.approvalFlow.includes(uid),
447
+ onChange: () =>
448
+ setFieldValue(
449
+ "approvalFlow",
450
+ changeApprovalFlowFor(
451
+ uid,
452
+ values.approvalFlow,
453
+ !values.approvalFlow.includes(
454
+ uid
455
+ )
456
+ ),
457
+ []
458
+ ),
459
+ onLabel: (0, utils_1.getMessage)(
460
+ "compontents.toogle.enabled"
461
+ ),
462
+ offLabel: (0, utils_1.getMessage)(
463
+ "compontents.toogle.disabled"
464
+ ),
465
+ disabled: restartRequired,
466
+ visibleLabels: true,
467
+ }
468
+ ),
469
+ !(0, lodash_1.isEmpty)(
470
+ stringAttributes
471
+ ) &&
472
+ react_1.default.createElement(
473
+ Select_1.Select,
474
+ {
475
+ name: `collectionSettings-${uid}-entryLabel`,
476
+ label: (0, utils_1.getMessage)(
477
+ "page.settings.form.entryLabel.label"
478
+ ),
479
+ placeholder: (0,
480
+ utils_1.getMessage)(
481
+ "page.settings.form.entryLabel.placeholder"
482
+ ),
483
+ hint: (0, utils_1.getMessage)(
484
+ "page.settings.form.entryLabel.hint"
485
+ ),
486
+ onClear: () =>
487
+ setFieldValue(
488
+ "entryLabel",
489
+ changeEntryLabelFor(
490
+ uid,
491
+ values.entryLabel
492
+ )
493
+ ),
494
+ value: values.entryLabel[uid] || [],
495
+ onChange: (value) =>
496
+ setFieldValue(
497
+ "entryLabel",
498
+ changeEntryLabelFor(
499
+ uid,
500
+ values.entryLabel,
501
+ value
502
+ )
503
+ ),
504
+ multi: true,
505
+ withTags: true,
506
+ disabled: restartRequired,
507
+ },
508
+ stringAttributes.map((key) =>
509
+ react_1.default.createElement(
510
+ Select_1.Option,
511
+ {
512
+ key: `collectionSettings-${uid}-entryLabel-${key}`,
513
+ value: key,
514
+ },
515
+ (0, lodash_1.capitalize)(
516
+ key.split("_").join(" ")
517
+ )
518
+ )
519
+ )
520
+ )
521
+ )
522
+ )
523
+ )
524
+ );
525
+ }
526
+ )
527
+ )
528
+ )
529
+ )
530
+ )
531
+ ),
532
+ react_1.default.createElement(
533
+ Box_1.Box,
534
+ { ...boxDefaultProps },
535
+ react_1.default.createElement(
536
+ Stack_1.Stack,
537
+ { size: 4 },
538
+ react_1.default.createElement(
539
+ Typography_1.Typography,
540
+ { variant: "delta", as: "h2" },
541
+ (0, utils_1.getMessage)("page.settings.section.additional")
542
+ ),
543
+ react_1.default.createElement(
544
+ Grid_1.Grid,
545
+ { gap: 4 },
546
+ react_1.default.createElement(
547
+ Grid_1.GridItem,
548
+ { col: 6, xs: 12 },
549
+ react_1.default.createElement(
550
+ Select_1.Select,
551
+ {
552
+ name: "moderatorRoles",
553
+ label: (0, utils_1.getMessage)(
554
+ "page.settings.form.moderatorRoles.label"
555
+ ),
556
+ placeholder: (0, utils_1.getMessage)(
557
+ "page.settings.form.moderatorRoles.placeholder"
558
+ ),
559
+ hint: (0, utils_1.getMessage)(
560
+ "page.settings.form.moderatorRoles.hint"
561
+ ),
562
+ onClear: () =>
563
+ setFieldValue("moderatorRoles", [], false),
564
+ value: values.moderatorRoles,
565
+ onChange: (value) =>
566
+ setFieldValue("moderatorRoles", value, false),
567
+ disabled: restartRequired,
568
+ multi: true,
569
+ withTags: true,
570
+ },
571
+ allRoles.map(({ code, name }) =>
572
+ react_1.default.createElement(
573
+ Select_1.Option,
574
+ { key: code, value: code },
575
+ name
576
+ )
577
+ )
578
+ )
579
+ ),
580
+ react_1.default.createElement(
581
+ Grid_1.GridItem,
582
+ { col: 6, xs: 12 },
583
+ react_1.default.createElement(ToggleInput_1.ToggleInput, {
584
+ name: "badWords",
585
+ label: (0, utils_1.getMessage)(
586
+ "page.settings.form.badWords.label"
587
+ ),
588
+ hint: (0, utils_1.getMessage)(
589
+ "page.settings.form.badWords.hint"
590
+ ),
591
+ checked: values.badWords,
592
+ onChange: ({ target: { checked } }) =>
593
+ setFieldValue("badWords", checked, false),
594
+ onLabel: (0, utils_1.getMessage)(
595
+ "compontents.toogle.enabled"
596
+ ),
597
+ offLabel: (0, utils_1.getMessage)(
598
+ "compontents.toogle.disabled"
599
+ ),
600
+ disabled: restartRequired,
601
+ })
602
+ ),
603
+ isGQLPluginEnabled &&
604
+ react_1.default.createElement(
605
+ Grid_1.GridItem,
606
+ { col: 6, xs: 12 },
607
+ react_1.default.createElement(
608
+ ToggleInput_1.ToggleInput,
609
+ {
610
+ name: "badWords",
611
+ label: (0, utils_1.getMessage)(
612
+ "page.settings.form.gqlAuth.label"
613
+ ),
614
+ hint: (0, utils_1.getMessage)(
615
+ "page.settings.form.gqlAuth.hint"
616
+ ),
617
+ checked: values.gqlAuthEnabled,
618
+ onChange: ({ target: { checked } }) =>
619
+ setFieldValue("gqlAuthEnabled", checked, false),
620
+ onLabel: (0, utils_1.getMessage)(
621
+ "compontents.toogle.enabled"
622
+ ),
623
+ offLabel: (0, utils_1.getMessage)(
624
+ "compontents.toogle.disabled"
625
+ ),
626
+ disabled: restartRequired,
627
+ }
628
+ )
629
+ )
630
+ )
631
+ )
632
+ ),
633
+ react_1.default.createElement(
634
+ helper_plugin_1.CheckPermissions,
635
+ { permissions: permissions_1.default.settingsChange },
636
+ react_1.default.createElement(
637
+ Box_1.Box,
638
+ { ...boxDefaultProps },
639
+ react_1.default.createElement(
640
+ Stack_1.Stack,
641
+ { size: 4 },
642
+ react_1.default.createElement(
643
+ Stack_1.Stack,
644
+ { size: 2 },
645
+ react_1.default.createElement(
646
+ Typography_1.Typography,
647
+ { variant: "delta", as: "h2" },
648
+ (0, utils_1.getMessage)("page.settings.section.restore")
649
+ ),
650
+ react_1.default.createElement(
651
+ Typography_1.Typography,
652
+ { variant: "pi", as: "h4" },
653
+ (0, utils_1.getMessage)(
654
+ "page.settings.section.restore.subtitle"
655
+ )
656
+ )
657
+ ),
658
+ react_1.default.createElement(
659
+ Grid_1.Grid,
660
+ { gap: 4 },
661
+ react_1.default.createElement(
662
+ Grid_1.GridItem,
663
+ { col: 6 },
664
+ react_1.default.createElement(
665
+ Button_1.Button,
666
+ {
667
+ variant: "danger-light",
668
+ startIcon: react_1.default.createElement(
669
+ icons_1.Refresh,
670
+ null
671
+ ),
672
+ onClick: handleRestoreConfirmation,
673
+ },
674
+ (0, utils_1.getMessage)(
675
+ "page.settings.actions.restore"
676
+ )
677
+ ),
678
+ react_1.default.createElement(
679
+ ConfirmationDialog_1.default,
680
+ {
681
+ isVisible: restoreConfigmationVisible,
682
+ isActionAsync: restoreMutation.isLoading,
683
+ header: (0, utils_1.getMessage)(
684
+ "page.settings.actions.restore.confirmation.header"
685
+ ),
686
+ labelConfirm: (0, utils_1.getMessage)(
687
+ "page.settings.actions.restore.confirmation.button.confirm"
688
+ ),
689
+ iconConfirm: react_1.default.createElement(
690
+ icons_1.Refresh,
691
+ null
692
+ ),
693
+ onConfirm: handleRestoreConfiguration,
694
+ onCancel: handleRestoreCancel,
695
+ },
696
+ (0, utils_1.getMessage)(
697
+ "page.settings.actions.restore.confirmation.description"
698
+ )
699
+ )
700
+ )
701
+ )
702
+ )
703
+ )
704
+ )
705
+ )
706
+ )
707
+ )
708
+ )
709
+ );
710
+ };
711
+ exports.default = Settings;
712
+ //# sourceMappingURL=index.js.map