@webiny/app-admin 5.27.0 → 5.29.0-beta.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/base/Admin.js +51 -29
- package/base/Admin.js.map +1 -1
- package/base/Base.js +52 -29
- package/base/Base.js.map +1 -1
- package/base/plugins/AddGraphQLQuerySelection.js +26 -11
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
- package/base/providers/ApolloProvider.d.ts +1 -1
- package/base/providers/ApolloProvider.js +25 -14
- package/base/providers/ApolloProvider.js.map +1 -1
- package/base/providers/TelemetryProvider.js +21 -8
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiStateProvider.js +18 -5
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.js +34 -15
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/Brand.js +18 -5
- package/base/ui/Brand.js.map +1 -1
- package/base/ui/CenteredView.js +21 -8
- package/base/ui/CenteredView.js.map +1 -1
- package/base/ui/Dashboard.js +18 -5
- package/base/ui/Dashboard.js.map +1 -1
- package/base/ui/Layout.js +21 -8
- package/base/ui/Layout.js.map +1 -1
- package/base/ui/LocaleSelector.js +18 -5
- package/base/ui/LocaleSelector.js.map +1 -1
- package/base/ui/LoginScreen.js +22 -7
- package/base/ui/LoginScreen.js.map +1 -1
- package/base/ui/Logo.js +25 -9
- package/base/ui/Logo.js.map +1 -1
- package/base/ui/Menu.js +46 -26
- package/base/ui/Menu.js.map +1 -1
- package/base/ui/Navigation.js +79 -42
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/NotFound.js +18 -5
- package/base/ui/NotFound.js.map +1 -1
- package/base/ui/Search.js +50 -22
- package/base/ui/Search.js.map +1 -1
- package/base/ui/Tags.js +23 -7
- package/base/ui/Tags.js.map +1 -1
- package/base/ui/UserMenu.js +74 -36
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AdminLayout.js +18 -5
- package/components/AdminLayout.js.map +1 -1
- package/components/AppInstaller/AppInstaller.js +79 -49
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.js +50 -28
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/AppInstaller/index.js +20 -7
- package/components/AppInstaller/index.js.map +1 -1
- package/components/AppInstaller/styled.js +26 -9
- package/components/AppInstaller/styled.js.map +1 -1
- package/components/AppInstaller/useInstaller.js +67 -40
- package/components/AppInstaller/useInstaller.js.map +1 -1
- package/components/EmptyView.js +25 -11
- package/components/EmptyView.js.map +1 -1
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +23 -9
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
- package/components/FileManager/BottomInfoBar.js +29 -11
- package/components/FileManager/BottomInfoBar.js.map +1 -1
- package/components/FileManager/DropFilesHere.js +27 -12
- package/components/FileManager/DropFilesHere.js.map +1 -1
- package/components/FileManager/File.js +42 -24
- package/components/FileManager/File.js.map +1 -1
- package/components/FileManager/FileDetails/Name.js +52 -30
- package/components/FileManager/FileDetails/Name.js.map +1 -1
- package/components/FileManager/FileDetails/Tags.js +112 -73
- package/components/FileManager/FileDetails/Tags.js.map +1 -1
- package/components/FileManager/FileDetails.js +157 -120
- package/components/FileManager/FileDetails.js.map +1 -1
- package/components/FileManager/FileManagerContext.js +39 -20
- package/components/FileManager/FileManagerContext.js.map +1 -1
- package/components/FileManager/FileManagerView.js +172 -130
- package/components/FileManager/FileManagerView.js.map +1 -1
- package/components/FileManager/LeftSidebar.js +49 -28
- package/components/FileManager/LeftSidebar.js.map +1 -1
- package/components/FileManager/NoPermissionView.js +35 -18
- package/components/FileManager/NoPermissionView.js.map +1 -1
- package/components/FileManager/NoResults.js +18 -6
- package/components/FileManager/NoResults.js.map +1 -1
- package/components/FileManager/getFileTypePlugin.js +23 -9
- package/components/FileManager/getFileTypePlugin.js.map +1 -1
- package/components/FileManager/getFileUploader.js +14 -4
- package/components/FileManager/getFileUploader.js.map +1 -1
- package/components/FileManager/graphql.js +24 -8
- package/components/FileManager/graphql.js.map +1 -1
- package/components/FileManager/outputFileSelectionError.js +16 -4
- package/components/FileManager/outputFileSelectionError.js.map +1 -1
- package/components/FileManager/types.js +5 -1
- package/components/FileManager/types.js.map +1 -1
- package/components/FileManager.js +60 -36
- package/components/FileManager.js.map +1 -1
- package/components/FloatingActionButton.js +18 -6
- package/components/FloatingActionButton.js.map +1 -1
- package/components/MultiImageUpload.js +24 -12
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OverlayLayout/OverlayLayout.js +68 -43
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/index.js +13 -1
- package/components/OverlayLayout/index.js.map +1 -1
- package/components/Permissions/Permissions.js +28 -11
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/StyledComponents.js +26 -9
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/Permissions/index.js +30 -2
- package/components/Permissions/index.js.map +1 -1
- package/components/RichTextEditor/RichTextEditor.js +24 -9
- package/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/components/RichTextEditor/index.js +21 -2
- package/components/RichTextEditor/index.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.js +34 -33
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.js +34 -28
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/svgs.js +9 -2
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.js +28 -22
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/types.js +5 -1
- package/components/RichTextEditor/tools/image/types.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.js +30 -23
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.js +43 -41
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.js +27 -26
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/RichTextEditor/tools/utils.js +14 -5
- package/components/RichTextEditor/tools/utils.js.map +1 -1
- package/components/Routes.js +24 -9
- package/components/Routes.js.map +1 -1
- package/components/SearchUI.js +23 -9
- package/components/SearchUI.js.map +1 -1
- package/components/SimpleForm/SimpleForm.js +60 -29
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleForm/index.js +31 -1
- package/components/SimpleForm/index.js.map +1 -1
- package/components/SimpleUI/InputField.js +35 -18
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.js +41 -22
- package/components/SingleImageUpload.js.map +1 -1
- package/components/SplitView/SplitView.js +42 -19
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/SplitView/index.js +25 -1
- package/components/SplitView/index.js.map +1 -1
- package/components/index.js +13 -1
- package/components/index.js.map +1 -1
- package/hooks/useConfirmationDialog.js +29 -16
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.js +16 -6
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useSnackbar.js +20 -7
- package/hooks/useSnackbar.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +295 -26
- package/index.js.map +1 -1
- package/package.json +21 -20
- package/plugins/FileManagerFileTypePlugin.js +33 -20
- package/plugins/FileManagerFileTypePlugin.js.map +1 -1
- package/plugins/MenuPlugin.js +33 -20
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.js +33 -20
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/fileManager/fileDefault.js +24 -8
- package/plugins/fileManager/fileDefault.js.map +1 -1
- package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
- package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
- package/plugins/fileManager/fileImage/EditAction.js +51 -28
- package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
- package/plugins/fileManager/fileImage/index.js +29 -10
- package/plugins/fileManager/fileImage/index.js.map +1 -1
- package/plugins/fileManager/index.js +15 -3
- package/plugins/fileManager/index.js.map +1 -1
- package/plugins/globalSearch/SearchBar.js +82 -60
- package/plugins/globalSearch/SearchBar.js.map +1 -1
- package/plugins/globalSearch/SearchBarDropdown.js +46 -27
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
- package/plugins/globalSearch/index.js +9 -2
- package/plugins/globalSearch/index.js.map +1 -1
- package/plugins/globalSearch/styled.js +33 -13
- package/plugins/globalSearch/styled.js.map +1 -1
- package/plugins/index.js +20 -6
- package/plugins/index.js.map +1 -1
- package/plugins/uiLayoutRenderer/index.js +26 -13
- package/plugins/uiLayoutRenderer/index.js.map +1 -1
- package/types.js +5 -1
- package/types.js.map +1 -1
- package/ui/UIElement.js +19 -1
- package/ui/UIElement.js.map +1 -1
- package/ui/UILayout.js +19 -1
- package/ui/UILayout.js.map +1 -1
- package/ui/UIRenderer.js +13 -1
- package/ui/UIRenderer.js.map +1 -1
- package/ui/UIView.js +25 -1
- package/ui/UIView.js.map +1 -1
- package/ui/elements/AccordionElement.js +52 -32
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.js +36 -19
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.js +38 -19
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/GenericElement.js +18 -1
- package/ui/elements/GenericElement.js.map +1 -1
- package/ui/elements/LabelElement.js +26 -13
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.js +48 -30
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PanelElement.js +27 -12
- package/ui/elements/PanelElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js +27 -13
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.js +36 -19
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.js +38 -20
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/ViewElement.js +18 -1
- package/ui/elements/ViewElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +33 -17
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.js +41 -23
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -14
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +45 -25
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/styled.d.ts +3 -3
- package/ui/elements/form/FileManagerElement/styled.js +26 -12
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
- package/ui/elements/form/FileManagerElement.js +39 -22
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.js +42 -21
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.js +38 -23
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.js +30 -15
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.js +34 -18
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.js +34 -18
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.js +35 -19
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.js +34 -18
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js +40 -24
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +60 -39
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/AdminView/components/Dialog.js +32 -15
- package/ui/views/AdminView/components/Dialog.js.map +1 -1
- package/ui/views/AdminView/components/Hamburger.js +25 -11
- package/ui/views/AdminView/components/Hamburger.js.map +1 -1
- package/ui/views/AdminView/components/Snackbar.js +26 -13
- package/ui/views/AdminView/components/Snackbar.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.js +45 -25
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormContentElement.js +27 -12
- package/ui/views/FormView/FormContentElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.js +38 -19
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.js +52 -30
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.js +60 -34
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.js +38 -19
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.js +56 -37
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView/useOverlayView.js +32 -16
- package/ui/views/OverlayView/useOverlayView.js.map +1 -1
- package/ui/views/OverlayView.js +65 -42
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.js +57 -37
- package/ui/views/SplitView.js.map +1 -1
|
@@ -1,58 +1,99 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
+
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _bytes = _interopRequireDefault(require("bytes"));
|
|
23
|
+
|
|
24
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
|
+
|
|
26
|
+
var _emotion = require("emotion");
|
|
27
|
+
|
|
28
|
+
var _Drawer = require("@webiny/ui/Drawer");
|
|
29
|
+
|
|
30
|
+
var _Button = require("@webiny/ui/Button");
|
|
31
|
+
|
|
32
|
+
var _getFileTypePlugin = _interopRequireDefault(require("./getFileTypePlugin"));
|
|
33
|
+
|
|
34
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
35
|
+
|
|
36
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
37
|
+
|
|
38
|
+
var _set = _interopRequireDefault(require("lodash/set"));
|
|
39
|
+
|
|
40
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
41
|
+
|
|
42
|
+
var _Tags = _interopRequireDefault(require("./FileDetails/Tags"));
|
|
43
|
+
|
|
44
|
+
var _Name = _interopRequireDefault(require("./FileDetails/Name"));
|
|
45
|
+
|
|
46
|
+
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
47
|
+
|
|
48
|
+
var _Icon = require("@webiny/ui/Icon");
|
|
49
|
+
|
|
50
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
51
|
+
|
|
52
|
+
var _reactHotkeyz = require("react-hotkeyz");
|
|
53
|
+
|
|
54
|
+
var _content_copyBlack24px = require("./icons/content_copy-black-24px.svg");
|
|
55
|
+
|
|
56
|
+
var _delete = require("./icons/delete.svg");
|
|
57
|
+
|
|
58
|
+
var _insert_photo24px = require("../../assets/icons/insert_photo-24px.svg");
|
|
59
|
+
|
|
60
|
+
var _insert_drive_file24px = require("../../assets/icons/insert_drive_file-24px.svg");
|
|
61
|
+
|
|
62
|
+
var _today24px = require("../../assets/icons/today-24px.svg");
|
|
63
|
+
|
|
64
|
+
var _highlight24px = require("../../assets/icons/highlight-24px.svg");
|
|
65
|
+
|
|
66
|
+
var _FileManagerContext = require("./FileManagerContext");
|
|
67
|
+
|
|
68
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
69
|
+
|
|
70
|
+
var _useSnackbar2 = require("../../hooks/useSnackbar");
|
|
71
|
+
|
|
72
|
+
var _appSecurity = require("@webiny/app-security");
|
|
73
|
+
|
|
74
|
+
var _ConfirmationDialog = require("@webiny/ui/ConfirmationDialog");
|
|
75
|
+
|
|
76
|
+
var _graphql = require("./graphql");
|
|
77
|
+
|
|
78
|
+
var _i18n = require("@webiny/app/i18n");
|
|
79
|
+
|
|
80
|
+
var _mime = _interopRequireDefault(require("mime"));
|
|
4
81
|
|
|
5
82
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
6
83
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import classNames from "classnames";
|
|
11
|
-
import { css } from "emotion";
|
|
12
|
-
import { Drawer, DrawerContent } from "@webiny/ui/Drawer";
|
|
13
|
-
import { IconButton } from "@webiny/ui/Button";
|
|
14
|
-
import getFileTypePlugin from "./getFileTypePlugin";
|
|
15
|
-
import dayjs from "dayjs";
|
|
16
|
-
import get from "lodash/get";
|
|
17
|
-
import set from "lodash/set";
|
|
18
|
-
import cloneDeep from "lodash/cloneDeep";
|
|
19
|
-
import Tags from "./FileDetails/Tags";
|
|
20
|
-
import Name from "./FileDetails/Name";
|
|
21
|
-
import { Tooltip } from "@webiny/ui/Tooltip";
|
|
22
|
-
import { Icon } from "@webiny/ui/Icon";
|
|
23
|
-
import { Typography } from "@webiny/ui/Typography";
|
|
24
|
-
/**
|
|
25
|
-
* Package react-hotkeyz has no types.
|
|
26
|
-
*/
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
|
|
29
|
-
import { useHotkeys } from "react-hotkeyz";
|
|
30
|
-
import { ReactComponent as CopyContentIcon } from "./icons/content_copy-black-24px.svg";
|
|
31
|
-
import { ReactComponent as DeleteIcon } from "./icons/delete.svg";
|
|
32
|
-
import { ReactComponent as ImageIcon } from "../../assets/icons/insert_photo-24px.svg";
|
|
33
|
-
import { ReactComponent as FileIcon } from "../../assets/icons/insert_drive_file-24px.svg";
|
|
34
|
-
import { ReactComponent as CalendarIcon } from "../../assets/icons/today-24px.svg";
|
|
35
|
-
import { ReactComponent as HighlightIcon } from "../../assets/icons/highlight-24px.svg";
|
|
36
|
-
import { getWhere, useFileManager } from "./FileManagerContext";
|
|
37
|
-
import { useMutation } from "@apollo/react-hooks";
|
|
38
|
-
import { useSnackbar } from "../../hooks/useSnackbar";
|
|
39
|
-
import { useSecurity } from "@webiny/app-security";
|
|
40
|
-
import { ConfirmationDialog } from "@webiny/ui/ConfirmationDialog";
|
|
41
|
-
import { DELETE_FILE, LIST_FILES, LIST_TAGS } from "./graphql";
|
|
42
|
-
import { i18n } from "@webiny/app/i18n";
|
|
43
|
-
import mime from "mime";
|
|
44
|
-
var t = i18n.ns("app-admin/file-manager/file-details");
|
|
45
|
-
var fileDetailsSidebar = /*#__PURE__*/css({
|
|
84
|
+
var t = _i18n.i18n.ns("app-admin/file-manager/file-details");
|
|
85
|
+
|
|
86
|
+
var fileDetailsSidebar = /*#__PURE__*/(0, _emotion.css)({
|
|
46
87
|
"&.mdc-drawer": {
|
|
47
88
|
width: 360
|
|
48
89
|
}
|
|
49
90
|
}, "label:fileDetailsSidebar;");
|
|
50
91
|
var style = {
|
|
51
|
-
wrapper: /*#__PURE__*/css({
|
|
92
|
+
wrapper: /*#__PURE__*/(0, _emotion.css)({
|
|
52
93
|
height: "100vh",
|
|
53
94
|
overflowY: "auto"
|
|
54
95
|
}, "label:wrapper;"),
|
|
55
|
-
header: /*#__PURE__*/css({
|
|
96
|
+
header: /*#__PURE__*/(0, _emotion.css)({
|
|
56
97
|
textAlign: "center",
|
|
57
98
|
marginBottom: 24,
|
|
58
99
|
paddingTop: 16,
|
|
@@ -62,7 +103,7 @@ var style = {
|
|
|
62
103
|
fontWeight: 600
|
|
63
104
|
}
|
|
64
105
|
}, "label:header;"),
|
|
65
|
-
preview: /*#__PURE__*/css({
|
|
106
|
+
preview: /*#__PURE__*/(0, _emotion.css)({
|
|
66
107
|
boxSizing: "border-box",
|
|
67
108
|
display: "flex",
|
|
68
109
|
justifyContent: "center",
|
|
@@ -83,7 +124,7 @@ var style = {
|
|
|
83
124
|
backgroundColor: "var(--mdc-theme-background)"
|
|
84
125
|
}
|
|
85
126
|
}, "label:preview;"),
|
|
86
|
-
download: /*#__PURE__*/css({
|
|
127
|
+
download: /*#__PURE__*/(0, _emotion.css)({
|
|
87
128
|
textAlign: "center",
|
|
88
129
|
margin: "0 auto",
|
|
89
130
|
width: "100%",
|
|
@@ -93,7 +134,7 @@ var style = {
|
|
|
93
134
|
}
|
|
94
135
|
}
|
|
95
136
|
}, "label:download;"),
|
|
96
|
-
list: /*#__PURE__*/css({
|
|
137
|
+
list: /*#__PURE__*/(0, _emotion.css)({
|
|
97
138
|
textAlign: "left",
|
|
98
139
|
color: "var(--mdc-theme-on-surface)",
|
|
99
140
|
li: {
|
|
@@ -127,7 +168,7 @@ var style = {
|
|
|
127
168
|
}
|
|
128
169
|
}
|
|
129
170
|
}, "label:list;"),
|
|
130
|
-
drawerContent: /*#__PURE__*/css({
|
|
171
|
+
drawerContent: /*#__PURE__*/(0, _emotion.css)({
|
|
131
172
|
"&.mdc-drawer__content": {
|
|
132
173
|
height: "auto",
|
|
133
174
|
overflowY: "inherit"
|
|
@@ -136,7 +177,7 @@ var style = {
|
|
|
136
177
|
};
|
|
137
178
|
|
|
138
179
|
var isImage = function isImage(file) {
|
|
139
|
-
var fileType =
|
|
180
|
+
var fileType = _mime.default.getType(file && file.name);
|
|
140
181
|
|
|
141
182
|
if (fileType && typeof fileType === "string") {
|
|
142
183
|
return fileType.includes("image");
|
|
@@ -149,26 +190,26 @@ var FileDetails = function FileDetails(props) {
|
|
|
149
190
|
var file = props.file,
|
|
150
191
|
uploadFile = props.uploadFile,
|
|
151
192
|
validateFiles = props.validateFiles;
|
|
152
|
-
var filePlugin =
|
|
153
|
-
var actions =
|
|
193
|
+
var filePlugin = (0, _getFileTypePlugin.default)(file);
|
|
194
|
+
var actions = (0, _get.default)(filePlugin, "fileDetails.actions") || (0, _get.default)(filePlugin, "actions") || [];
|
|
154
195
|
|
|
155
|
-
var _useFileManager = useFileManager(),
|
|
196
|
+
var _useFileManager = (0, _FileManagerContext.useFileManager)(),
|
|
156
197
|
hideFileDetails = _useFileManager.hideFileDetails,
|
|
157
198
|
queryParams = _useFileManager.queryParams;
|
|
158
199
|
|
|
159
|
-
var _useState = useState(false),
|
|
160
|
-
_useState2 =
|
|
200
|
+
var _useState = (0, _react.useState)(false),
|
|
201
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
161
202
|
darkImageBackground = _useState2[0],
|
|
162
203
|
setDarkImageBackground = _useState2[1];
|
|
163
204
|
|
|
164
|
-
var _useSecurity = useSecurity(),
|
|
205
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
165
206
|
identity = _useSecurity.identity,
|
|
166
207
|
getPermission = _useSecurity.getPermission;
|
|
167
208
|
|
|
168
|
-
var fmFilePermission = useMemo(function () {
|
|
209
|
+
var fmFilePermission = (0, _react.useMemo)(function () {
|
|
169
210
|
return getPermission("fm.file");
|
|
170
211
|
}, [identity]);
|
|
171
|
-
var canDelete = useCallback(function (item) {
|
|
212
|
+
var canDelete = (0, _react.useCallback)(function (item) {
|
|
172
213
|
// Bail out early if no access
|
|
173
214
|
if (!fmFilePermission) {
|
|
174
215
|
return false;
|
|
@@ -181,7 +222,7 @@ var FileDetails = function FileDetails(props) {
|
|
|
181
222
|
return false;
|
|
182
223
|
}
|
|
183
224
|
|
|
184
|
-
return
|
|
225
|
+
return (0, _get.default)(item, "createdBy.id") === identityId;
|
|
185
226
|
}
|
|
186
227
|
|
|
187
228
|
if (typeof fmFilePermission.rwd === "string") {
|
|
@@ -190,7 +231,7 @@ var FileDetails = function FileDetails(props) {
|
|
|
190
231
|
|
|
191
232
|
return true;
|
|
192
233
|
}, [fmFilePermission]);
|
|
193
|
-
useHotkeys({
|
|
234
|
+
(0, _reactHotkeyz.useHotkeys)({
|
|
194
235
|
zIndex: 55,
|
|
195
236
|
disabled: !file,
|
|
196
237
|
keys: {
|
|
@@ -198,13 +239,13 @@ var FileDetails = function FileDetails(props) {
|
|
|
198
239
|
}
|
|
199
240
|
});
|
|
200
241
|
|
|
201
|
-
var _useMutation = useMutation(DELETE_FILE, {
|
|
242
|
+
var _useMutation = (0, _reactHooks.useMutation)(_graphql.DELETE_FILE, {
|
|
202
243
|
update: function update(cache) {
|
|
203
244
|
var _listTagsData$fileMan;
|
|
204
245
|
|
|
205
246
|
// 1. Update files list cache
|
|
206
|
-
var data =
|
|
207
|
-
query: LIST_FILES,
|
|
247
|
+
var data = (0, _cloneDeep.default)(cache.readQuery({
|
|
248
|
+
query: _graphql.LIST_FILES,
|
|
208
249
|
variables: queryParams
|
|
209
250
|
}));
|
|
210
251
|
|
|
@@ -231,19 +272,17 @@ var FileDetails = function FileDetails(props) {
|
|
|
231
272
|
return item.id === file.id;
|
|
232
273
|
});
|
|
233
274
|
cache.writeQuery({
|
|
234
|
-
query: LIST_FILES,
|
|
275
|
+
query: _graphql.LIST_FILES,
|
|
235
276
|
variables: queryParams,
|
|
236
|
-
data:
|
|
277
|
+
data: (0, _set.default)(data, "fileManager.listFiles.data", filteredList)
|
|
237
278
|
}); // 2. Update "ListTags" cache
|
|
238
279
|
|
|
239
|
-
// 2. Update "ListTags" cache
|
|
240
280
|
if (!selectedFile || Array.isArray(selectedFile.tags) === false) {
|
|
241
281
|
return;
|
|
242
282
|
}
|
|
243
283
|
|
|
244
284
|
var tagCountMap = {}; // Prepare "tag" count map
|
|
245
285
|
|
|
246
|
-
// Prepare "tag" count map
|
|
247
286
|
data.fileManager.listFiles.data.forEach(function (file) {
|
|
248
287
|
if (!Array.isArray(file.tags)) {
|
|
249
288
|
return;
|
|
@@ -258,15 +297,13 @@ var FileDetails = function FileDetails(props) {
|
|
|
258
297
|
});
|
|
259
298
|
}); // Get tags from cache
|
|
260
299
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
query: LIST_TAGS,
|
|
300
|
+
var listTagsData = (0, _cloneDeep.default)(cache.readQuery({
|
|
301
|
+
query: _graphql.LIST_TAGS,
|
|
264
302
|
variables: {
|
|
265
|
-
where: getWhere(queryParams.scope)
|
|
303
|
+
where: (0, _FileManagerContext.getWhere)(queryParams.scope)
|
|
266
304
|
}
|
|
267
305
|
})); // Remove selected file tags from list.
|
|
268
306
|
|
|
269
|
-
// Remove selected file tags from list.
|
|
270
307
|
var filteredTags = ((listTagsData === null || listTagsData === void 0 ? void 0 : (_listTagsData$fileMan = listTagsData.fileManager) === null || _listTagsData$fileMan === void 0 ? void 0 : _listTagsData$fileMan.listTags) || []).filter(function (tag) {
|
|
271
308
|
if (!selectedFile.tags.includes(tag)) {
|
|
272
309
|
return true;
|
|
@@ -275,53 +312,52 @@ var FileDetails = function FileDetails(props) {
|
|
|
275
312
|
return tagCountMap[tag] > 1;
|
|
276
313
|
}); // Write it to cache
|
|
277
314
|
|
|
278
|
-
// Write it to cache
|
|
279
315
|
cache.writeQuery({
|
|
280
|
-
query: LIST_TAGS,
|
|
316
|
+
query: _graphql.LIST_TAGS,
|
|
281
317
|
variables: {
|
|
282
|
-
where: getWhere(queryParams.scope)
|
|
318
|
+
where: (0, _FileManagerContext.getWhere)(queryParams.scope)
|
|
283
319
|
},
|
|
284
|
-
data:
|
|
320
|
+
data: (0, _set.default)(data, "fileManager.listTags", filteredTags)
|
|
285
321
|
});
|
|
286
322
|
}
|
|
287
323
|
}),
|
|
288
|
-
_useMutation2 =
|
|
324
|
+
_useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
|
|
289
325
|
deleteFile = _useMutation2[0];
|
|
290
326
|
|
|
291
|
-
var _useSnackbar = useSnackbar(),
|
|
327
|
+
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
292
328
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
293
329
|
|
|
294
|
-
var renderDeleteImageAction = useCallback(function (file) {
|
|
330
|
+
var renderDeleteImageAction = (0, _react.useCallback)(function (file) {
|
|
295
331
|
if (!canDelete(file)) {
|
|
296
332
|
return null;
|
|
297
333
|
}
|
|
298
334
|
|
|
299
335
|
var fileDeleteConfirmationProps = {
|
|
300
|
-
title: t(_templateObject || (_templateObject =
|
|
301
|
-
message: file && /*#__PURE__*/
|
|
336
|
+
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Delete file"]))),
|
|
337
|
+
message: file && /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You're about to delete file {name}. Are you sure you want to continue?"])))({
|
|
302
338
|
name: file.name
|
|
303
339
|
}))
|
|
304
340
|
};
|
|
305
|
-
return /*#__PURE__*/
|
|
341
|
+
return /*#__PURE__*/_react.default.createElement(_ConfirmationDialog.ConfirmationDialog, Object.assign({}, fileDeleteConfirmationProps, {
|
|
306
342
|
"data-testid": "fm-delete-file-confirmation-dialog",
|
|
307
343
|
style: {
|
|
308
344
|
zIndex: 100
|
|
309
345
|
}
|
|
310
346
|
}), function (_ref) {
|
|
311
347
|
var showConfirmation = _ref.showConfirmation;
|
|
312
|
-
return /*#__PURE__*/
|
|
313
|
-
content: isImage(file) ? /*#__PURE__*/
|
|
348
|
+
return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
349
|
+
content: isImage(file) ? /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Delete image"])))) : /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Delete file"])))),
|
|
314
350
|
placement: "bottom"
|
|
315
|
-
}, /*#__PURE__*/
|
|
351
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
316
352
|
"data-testid": "fm-delete-file-button",
|
|
317
|
-
icon: /*#__PURE__*/
|
|
353
|
+
icon: /*#__PURE__*/_react.default.createElement(_delete.ReactComponent, {
|
|
318
354
|
style: {
|
|
319
355
|
margin: "0 8px 0 0"
|
|
320
356
|
}
|
|
321
357
|
}),
|
|
322
358
|
onClick: function onClick() {
|
|
323
|
-
return showConfirmation( /*#__PURE__*/
|
|
324
|
-
return
|
|
359
|
+
return showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
360
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
325
361
|
while (1) {
|
|
326
362
|
switch (_context.prev = _context.next) {
|
|
327
363
|
case 0:
|
|
@@ -333,7 +369,7 @@ var FileDetails = function FileDetails(props) {
|
|
|
333
369
|
});
|
|
334
370
|
|
|
335
371
|
case 2:
|
|
336
|
-
showSnackbar(t(_templateObject5 || (_templateObject5 =
|
|
372
|
+
showSnackbar(t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["File deleted successfully."]))));
|
|
337
373
|
|
|
338
374
|
case 3:
|
|
339
375
|
case "end":
|
|
@@ -346,29 +382,29 @@ var FileDetails = function FileDetails(props) {
|
|
|
346
382
|
}));
|
|
347
383
|
});
|
|
348
384
|
}, []);
|
|
349
|
-
var fileTypeIcon = useMemo(function () {
|
|
385
|
+
var fileTypeIcon = (0, _react.useMemo)(function () {
|
|
350
386
|
if (file && typeof file.type === "string") {
|
|
351
|
-
return file.type.includes("image") ? /*#__PURE__*/
|
|
387
|
+
return file.type.includes("image") ? /*#__PURE__*/_react.default.createElement(_insert_photo24px.ReactComponent, null) : /*#__PURE__*/_react.default.createElement(_insert_drive_file24px.ReactComponent, null);
|
|
352
388
|
}
|
|
353
389
|
|
|
354
|
-
return /*#__PURE__*/
|
|
390
|
+
return /*#__PURE__*/_react.default.createElement(_insert_photo24px.ReactComponent, null);
|
|
355
391
|
}, [file]);
|
|
356
|
-
return /*#__PURE__*/
|
|
392
|
+
return /*#__PURE__*/_react.default.createElement(_Drawer.Drawer, {
|
|
357
393
|
className: fileDetailsSidebar,
|
|
358
394
|
dir: "rtl",
|
|
359
395
|
modal: true,
|
|
360
396
|
open: Boolean(file),
|
|
361
397
|
onClose: hideFileDetails,
|
|
362
398
|
"data-testid": "fm.file-details.drawer"
|
|
363
|
-
}, file && /*#__PURE__*/
|
|
399
|
+
}, file && /*#__PURE__*/_react.default.createElement("div", {
|
|
364
400
|
className: style.wrapper,
|
|
365
401
|
dir: "ltr"
|
|
366
|
-
}, /*#__PURE__*/
|
|
402
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
367
403
|
className: style.header
|
|
368
|
-
}, /*#__PURE__*/
|
|
404
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
369
405
|
use: "headline5"
|
|
370
|
-
}, t(_templateObject6 || (_templateObject6 =
|
|
371
|
-
className:
|
|
406
|
+
}, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["File details"]))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
407
|
+
className: (0, _classnames.default)(style.preview, {
|
|
372
408
|
dark: darkImageBackground
|
|
373
409
|
})
|
|
374
410
|
}, filePlugin && filePlugin.render({
|
|
@@ -380,58 +416,59 @@ var FileDetails = function FileDetails(props) {
|
|
|
380
416
|
file: file,
|
|
381
417
|
uploadFile: uploadFile,
|
|
382
418
|
validateFiles: validateFiles
|
|
383
|
-
})), /*#__PURE__*/
|
|
419
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
384
420
|
className: style.download
|
|
385
|
-
}, /*#__PURE__*/
|
|
386
|
-
content: /*#__PURE__*/
|
|
421
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
422
|
+
content: /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Copy URL"])))),
|
|
387
423
|
placement: "bottom"
|
|
388
|
-
}, /*#__PURE__*/
|
|
424
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
389
425
|
onClick: function onClick() {
|
|
390
426
|
navigator.clipboard.writeText(file.src);
|
|
391
|
-
showSnackbar(t(_templateObject8 || (_templateObject8 =
|
|
427
|
+
showSnackbar(t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["URL copied successfully."]))));
|
|
392
428
|
},
|
|
393
|
-
icon: /*#__PURE__*/
|
|
429
|
+
icon: /*#__PURE__*/_react.default.createElement(_content_copyBlack24px.ReactComponent, {
|
|
394
430
|
style: {
|
|
395
431
|
margin: "0 8px 0 0"
|
|
396
432
|
}
|
|
397
433
|
})
|
|
398
434
|
})), actions.map(function (Component, index) {
|
|
399
|
-
return /*#__PURE__*/
|
|
435
|
+
return /*#__PURE__*/_react.default.createElement(Component, Object.assign({
|
|
400
436
|
key: index
|
|
401
437
|
}, props));
|
|
402
|
-
}), renderDeleteImageAction(file), /*#__PURE__*/
|
|
403
|
-
content: t(_templateObject9 || (_templateObject9 =
|
|
438
|
+
}), renderDeleteImageAction(file), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
439
|
+
content: t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Toggle background"]))),
|
|
404
440
|
placement: "bottom"
|
|
405
|
-
}, /*#__PURE__*/
|
|
406
|
-
icon: /*#__PURE__*/
|
|
441
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
442
|
+
icon: /*#__PURE__*/_react.default.createElement(_highlight24px.ReactComponent, null),
|
|
407
443
|
onClick: function onClick() {
|
|
408
444
|
return setDarkImageBackground(!darkImageBackground);
|
|
409
445
|
},
|
|
410
|
-
className:
|
|
446
|
+
className: (0, _classnames.default)({
|
|
411
447
|
"icon--active": darkImageBackground
|
|
412
448
|
})
|
|
413
|
-
})))), /*#__PURE__*/
|
|
449
|
+
})))), /*#__PURE__*/_react.default.createElement(_Drawer.DrawerContent, {
|
|
414
450
|
dir: "ltr",
|
|
415
451
|
className: style.drawerContent
|
|
416
|
-
}, /*#__PURE__*/
|
|
452
|
+
}, /*#__PURE__*/_react.default.createElement("ul", {
|
|
417
453
|
className: style.list
|
|
418
|
-
}, /*#__PURE__*/
|
|
454
|
+
}, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Name.default, props)), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
419
455
|
className: "list-item__icon",
|
|
420
456
|
icon: fileTypeIcon
|
|
421
|
-
}), /*#__PURE__*/
|
|
457
|
+
}), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
422
458
|
use: "subtitle1"
|
|
423
|
-
}, file.type), " ", " - ", /*#__PURE__*/
|
|
459
|
+
}, file.type), " ", " - ", /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
424
460
|
use: "subtitle1"
|
|
425
|
-
},
|
|
461
|
+
}, _bytes.default.format(file.size, {
|
|
426
462
|
unitSeparator: " "
|
|
427
|
-
}))))), /*#__PURE__*/
|
|
463
|
+
}))))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
428
464
|
className: "list-item__icon",
|
|
429
|
-
icon: /*#__PURE__*/
|
|
430
|
-
}), /*#__PURE__*/
|
|
465
|
+
icon: /*#__PURE__*/_react.default.createElement(_today24px.ReactComponent, null)
|
|
466
|
+
}), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
431
467
|
use: "subtitle1"
|
|
432
|
-
},
|
|
468
|
+
}, (0, _dayjs.default)(file.createdOn).format("DD MMM YYYY [at] HH:mm"))))), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Tags.default, Object.assign({
|
|
433
469
|
key: props.file.id
|
|
434
470
|
}, props)))))));
|
|
435
471
|
};
|
|
436
472
|
|
|
437
|
-
|
|
473
|
+
var _default = FileDetails;
|
|
474
|
+
exports.default = _default;
|