@webiny/app-admin 0.0.0-mt-1
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/LICENSE +21 -0
- package/README.md +21 -0
- package/assets/icons/add-18px.svg +3 -0
- package/assets/icons/arrow_drop_down-24px.svg +4 -0
- package/assets/icons/attach_file_black_24dp.svg +1 -0
- package/assets/icons/baseline-menu-24px.svg +4 -0
- package/assets/icons/baseline-notification_important-24px.svg +4 -0
- package/assets/icons/baseline-security-24px.svg +4 -0
- package/assets/icons/filter-24px.svg +8 -0
- package/assets/icons/github-brands.svg +1 -0
- package/assets/icons/highlight-24px.svg +1 -0
- package/assets/icons/icon-community.svg +16 -0
- package/assets/icons/icon-documentation.svg +16 -0
- package/assets/icons/info.svg +1 -0
- package/assets/icons/insert_drive_file-24px.svg +1 -0
- package/assets/icons/insert_photo-24px.svg +1 -0
- package/assets/icons/label-24px.svg +1 -0
- package/assets/icons/round-account_circle-24px.svg +1 -0
- package/assets/icons/round-add-24px.svg +16 -0
- package/assets/icons/round-arrow_drop_down-24px.svg +1 -0
- package/assets/icons/round-chevron_right-24px.svg +12 -0
- package/assets/icons/round-feedback-24px.svg +54 -0
- package/assets/icons/round-help-24px.svg +1 -0
- package/assets/icons/round-invert_colors-24px.svg +52 -0
- package/assets/icons/round-keyboard_arrow_down-24px.svg +16 -0
- package/assets/icons/round-keyboard_arrow_up-24px.svg +16 -0
- package/assets/icons/round-lock_open-24px.svg +60 -0
- package/assets/icons/round-more_vert-24px.svg +12 -0
- package/assets/icons/round-open_in_new-24px.svg +44 -0
- package/assets/icons/round-settings-24px.svg +4 -0
- package/assets/icons/search-24px.svg +20 -0
- package/assets/icons/slack-logo.svg +1 -0
- package/assets/icons/today-24px.svg +1 -0
- package/assets/icons/touch_app.svg +1 -0
- package/assets/images/arr.png +0 -0
- package/assets/images/arr_2.png +0 -0
- package/assets/images/header_bg.jpg +0 -0
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/logo_orange.png +0 -0
- package/assets/images/public/bg-login.png +0 -0
- package/assets/images/public/favicon.ico +0 -0
- package/assets/images/public/logo_orange.png +0 -0
- package/assets/images/public/preloader_2.png +0 -0
- package/assets/images/swich.png +0 -0
- package/assets/images/table_img.jpg +0 -0
- package/assets/images/webiny-logo.svg +20 -0
- package/assets/images/webiny-orange-logo.svg +20 -0
- package/components/AdminLayout.d.ts +7 -0
- package/components/AdminLayout.js +35 -0
- package/components/AppInstaller/Sidebar.d.ts +7 -0
- package/components/AppInstaller/Sidebar.js +158 -0
- package/components/AppInstaller/assets/sign-in-divider.svg +19 -0
- package/components/AppInstaller/index.d.ts +5 -0
- package/components/AppInstaller/index.js +134 -0
- package/components/AppInstaller/styled.d.ts +7 -0
- package/components/AppInstaller/styled.js +73 -0
- package/components/AppInstaller/useInstaller.d.ts +11 -0
- package/components/AppInstaller/useInstaller.js +279 -0
- package/components/EmptyView.d.ts +8 -0
- package/components/EmptyView.js +56 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +5 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +35 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +5 -0
- package/components/FileManager/BottomInfoBar/UploadStatus.js +47 -0
- package/components/FileManager/BottomInfoBar.d.ts +3 -0
- package/components/FileManager/BottomInfoBar.js +42 -0
- package/components/FileManager/DropFilesHere.d.ts +8 -0
- package/components/FileManager/DropFilesHere.js +58 -0
- package/components/FileManager/File.d.ts +18 -0
- package/components/FileManager/File.js +129 -0
- package/components/FileManager/FileDetails/Name.d.ts +6 -0
- package/components/FileManager/FileDetails/Name.js +113 -0
- package/components/FileManager/FileDetails/Tags.d.ts +6 -0
- package/components/FileManager/FileDetails/Tags.js +241 -0
- package/components/FileManager/FileDetails.d.ts +23 -0
- package/components/FileManager/FileDetails.js +392 -0
- package/components/FileManager/FileManagerContext.d.ts +23 -0
- package/components/FileManager/FileManagerContext.js +174 -0
- package/components/FileManager/FileManagerView.d.ts +23 -0
- package/components/FileManager/FileManagerView.js +632 -0
- package/components/FileManager/LeftSidebar.d.ts +8 -0
- package/components/FileManager/LeftSidebar.js +95 -0
- package/components/FileManager/NoPermissionView.d.ts +3 -0
- package/components/FileManager/NoPermissionView.js +70 -0
- package/components/FileManager/NoResults.d.ts +2 -0
- package/components/FileManager/NoResults.js +13 -0
- package/components/FileManager/getFileTypePlugin.d.ts +1 -0
- package/components/FileManager/getFileTypePlugin.js +27 -0
- package/components/FileManager/getFileUploader.d.ts +2 -0
- package/components/FileManager/getFileUploader.js +10 -0
- package/components/FileManager/graphql.d.ts +6 -0
- package/components/FileManager/graphql.js +17 -0
- package/components/FileManager/icons/content_copy-black-24px.svg +1 -0
- package/components/FileManager/icons/delete.svg +12 -0
- package/components/FileManager/icons/privacy_tip-24px.svg +10 -0
- package/components/FileManager/icons/round-check_box-24px.svg +4 -0
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +4 -0
- package/components/FileManager/icons/round-cloud_download-24px.svg +4 -0
- package/components/FileManager/icons/round-cloud_upload-24px.svg +4 -0
- package/components/FileManager/icons/round-description-24px.svg +4 -0
- package/components/FileManager/icons/round-edit-24px.svg +4 -0
- package/components/FileManager/icons/round-info-24px.svg +4 -0
- package/components/FileManager/icons/round-label-24px.svg +4 -0
- package/components/FileManager/icons/round-more_vert-24px.svg +4 -0
- package/components/FileManager/icons/round-search-24px.svg +20 -0
- package/components/FileManager/outputFileSelectionError.d.ts +2 -0
- package/components/FileManager/outputFileSelectionError.js +39 -0
- package/components/FileManager.d.ts +18 -0
- package/components/FileManager.js +133 -0
- package/components/FloatingActionButton.d.ts +3 -0
- package/components/FloatingActionButton.js +17 -0
- package/components/MultiImageUpload.d.ts +4 -0
- package/components/MultiImageUpload.js +20 -0
- package/components/OverlayLayout/OverlayLayout.d.ts +25 -0
- package/components/OverlayLayout/OverlayLayout.js +159 -0
- package/components/OverlayLayout/icons/close.svg +13 -0
- package/components/OverlayLayout/icons/navigate_before.svg +16 -0
- package/components/OverlayLayout/index.d.ts +1 -0
- package/components/OverlayLayout/index.js +1 -0
- package/components/Permissions/Permissions.d.ts +7 -0
- package/components/Permissions/Permissions.js +37 -0
- package/components/Permissions/StyledComponents.d.ts +6 -0
- package/components/Permissions/StyledComponents.js +19 -0
- package/components/Permissions/index.d.ts +2 -0
- package/components/Permissions/index.js +2 -0
- package/components/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/components/RichTextEditor/RichTextEditor.js +15 -0
- package/components/RichTextEditor/index.d.ts +2 -0
- package/components/RichTextEditor/index.js +2 -0
- package/components/RichTextEditor/styles.scss +64 -0
- package/components/RichTextEditor/tools/header/index.d.ts +228 -0
- package/components/RichTextEditor/tools/header/index.js +731 -0
- package/components/RichTextEditor/tools/header/styles.scss +48 -0
- package/components/RichTextEditor/tools/image/index.d.ts +97 -0
- package/components/RichTextEditor/tools/image/index.js +257 -0
- package/components/RichTextEditor/tools/image/styles.scss +90 -0
- package/components/RichTextEditor/tools/image/svgs.d.ts +6 -0
- package/components/RichTextEditor/tools/image/svgs.js +5 -0
- package/components/RichTextEditor/tools/image/tunes.d.ts +58 -0
- package/components/RichTextEditor/tools/image/tunes.js +134 -0
- package/components/RichTextEditor/tools/image/ui.d.ts +111 -0
- package/components/RichTextEditor/tools/image/ui.js +281 -0
- package/components/RichTextEditor/tools/paragraph/index.d.ts +211 -0
- package/components/RichTextEditor/tools/paragraph/index.js +520 -0
- package/components/RichTextEditor/tools/paragraph/styles.scss +29 -0
- package/components/RichTextEditor/tools/textColor/index.d.ts +58 -0
- package/components/RichTextEditor/tools/textColor/index.js +232 -0
- package/components/RichTextEditor/tools/textColor/styles.scss +21 -0
- package/components/RichTextEditor/tools/utils.d.ts +19 -0
- package/components/RichTextEditor/tools/utils.js +24 -0
- package/components/SearchUI.d.ts +8 -0
- package/components/SearchUI.js +59 -0
- package/components/SimpleForm/SimpleForm.d.ts +21 -0
- package/components/SimpleForm/SimpleForm.js +75 -0
- package/components/SimpleForm/index.d.ts +1 -0
- package/components/SimpleForm/index.js +1 -0
- package/components/SimpleUI/InputField.d.ts +9 -0
- package/components/SimpleUI/InputField.js +97 -0
- package/components/SingleImageUpload.d.ts +25 -0
- package/components/SingleImageUpload.js +102 -0
- package/components/SplitView/SplitView.d.ts +10 -0
- package/components/SplitView/SplitView.js +76 -0
- package/components/SplitView/index.d.ts +1 -0
- package/components/SplitView/index.js +1 -0
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/hooks/useConfirmationDialog.d.ts +10 -0
- package/hooks/useConfirmationDialog.js +47 -0
- package/hooks/useDialog.d.ts +5 -0
- package/hooks/useDialog.js +27 -0
- package/hooks/useSnackbar.d.ts +4 -0
- package/hooks/useSnackbar.js +25 -0
- package/package.json +101 -0
- package/plugins/FileManagerFileTypePlugin.d.ts +33 -0
- package/plugins/FileManagerFileTypePlugin.js +46 -0
- package/plugins/MenuPlugin.d.ts +20 -0
- package/plugins/MenuPlugin.js +41 -0
- package/plugins/PermissionRendererPlugin.d.ts +22 -0
- package/plugins/PermissionRendererPlugin.js +41 -0
- package/plugins/fileManager/fileDefault.d.ts +3 -0
- package/plugins/fileManager/fileDefault.js +20 -0
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +3 -0
- package/plugins/fileManager/fileImage/DeleteAction.js +62 -0
- package/plugins/fileManager/fileImage/EditAction.d.ts +9 -0
- package/plugins/fileManager/fileImage/EditAction.js +143 -0
- package/plugins/fileManager/fileImage/index.d.ts +3 -0
- package/plugins/fileManager/fileImage/index.js +29 -0
- package/plugins/fileManager/icons/edit.svg +17 -0
- package/plugins/fileManager/icons/round-description-24px.svg +1 -0
- package/plugins/fileManager/index.d.ts +2 -0
- package/plugins/fileManager/index.js +3 -0
- package/plugins/globalSearch/SearchBar.d.ts +3 -0
- package/plugins/globalSearch/SearchBar.js +241 -0
- package/plugins/globalSearch/SearchBarDropdown.d.ts +5 -0
- package/plugins/globalSearch/SearchBarDropdown.js +82 -0
- package/plugins/globalSearch/icons/round-search-24px.svg +20 -0
- package/plugins/globalSearch/index.d.ts +8 -0
- package/plugins/globalSearch/index.js +30 -0
- package/plugins/globalSearch/styled.d.ts +9 -0
- package/plugins/globalSearch/styled.js +115 -0
- package/plugins/index.d.ts +6 -0
- package/plugins/index.js +8 -0
- package/plugins/logo/Logo.d.ts +22 -0
- package/plugins/logo/Logo.js +108 -0
- package/plugins/logo/index.d.ts +5 -0
- package/plugins/logo/index.js +32 -0
- package/plugins/menu/documentation.d.ts +4 -0
- package/plugins/menu/documentation.js +16 -0
- package/plugins/menu/fileManager.d.ts +4 -0
- package/plugins/menu/fileManager.js +64 -0
- package/plugins/menu/index.d.ts +6 -0
- package/plugins/menu/index.js +24 -0
- package/plugins/menu/renderers/MenuGroupRenderer.d.ts +7 -0
- package/plugins/menu/renderers/MenuGroupRenderer.js +126 -0
- package/plugins/menu/renderers/MenuLinkRenderer.d.ts +7 -0
- package/plugins/menu/renderers/MenuLinkRenderer.js +52 -0
- package/plugins/menu/renderers/MenuSectionItemRenderer.d.ts +7 -0
- package/plugins/menu/renderers/MenuSectionItemRenderer.js +77 -0
- package/plugins/menu/renderers/MenuSectionRenderer.d.ts +7 -0
- package/plugins/menu/renderers/MenuSectionRenderer.js +51 -0
- package/plugins/menu/slack.d.ts +4 -0
- package/plugins/menu/slack.js +16 -0
- package/plugins/menu/source.d.ts +4 -0
- package/plugins/menu/source.js +16 -0
- package/plugins/uiLayoutRenderer/index.d.ts +3 -0
- package/plugins/uiLayoutRenderer/index.js +63 -0
- package/plugins/userMenu/UserMenuElement.d.ts +7 -0
- package/plugins/userMenu/UserMenuElement.js +43 -0
- package/plugins/userMenu/UserMenuRenderer.d.ts +6 -0
- package/plugins/userMenu/UserMenuRenderer.js +47 -0
- package/plugins/userMenu/index.d.ts +4 -0
- package/plugins/userMenu/index.js +16 -0
- package/styles/material-theme-assignments.scss +333 -0
- package/styles/material.scss +74 -0
- package/styles/theme.scss +43 -0
- package/styles.scss +2 -0
- package/types.d.ts +100 -0
- package/types.js +1 -0
- package/ui/UIElement.d.ts +2 -0
- package/ui/UIElement.js +1 -0
- package/ui/UILayout.d.ts +1 -0
- package/ui/UILayout.js +1 -0
- package/ui/UIRenderer.d.ts +2 -0
- package/ui/UIRenderer.js +1 -0
- package/ui/UIView.d.ts +2 -0
- package/ui/UIView.js +1 -0
- package/ui/elements/AccordionElement.d.ts +27 -0
- package/ui/elements/AccordionElement.js +86 -0
- package/ui/elements/ButtonElement.d.ts +24 -0
- package/ui/elements/ButtonElement.js +78 -0
- package/ui/elements/ButtonGroupElement.d.ts +6 -0
- package/ui/elements/ButtonGroupElement.js +48 -0
- package/ui/elements/GenericElement.d.ts +1 -0
- package/ui/elements/GenericElement.js +1 -0
- package/ui/elements/LabelElement.d.ts +16 -0
- package/ui/elements/LabelElement.js +47 -0
- package/ui/elements/NavigationMenuElement.d.ts +32 -0
- package/ui/elements/NavigationMenuElement.js +158 -0
- package/ui/elements/PanelElement.d.ts +3 -0
- package/ui/elements/PanelElement.js +17 -0
- package/ui/elements/PlaceholderElement.d.ts +5 -0
- package/ui/elements/PlaceholderElement.js +30 -0
- package/ui/elements/SmallButtonElement.d.ts +6 -0
- package/ui/elements/SmallButtonElement.js +47 -0
- package/ui/elements/TypographyElement.d.ts +13 -0
- package/ui/elements/TypographyElement.js +49 -0
- package/ui/elements/ViewElement.d.ts +1 -0
- package/ui/elements/ViewElement.js +1 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.d.ts +6 -0
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +44 -0
- package/ui/elements/form/DynamicFieldsetElement.d.ts +42 -0
- package/ui/elements/form/DynamicFieldsetElement.js +127 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.d.ts +4 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +24 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.d.ts +7 -0
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +72 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.d.ts +13 -0
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +95 -0
- package/ui/elements/form/FileManagerElement/styled.d.ts +14 -0
- package/ui/elements/form/FileManagerElement/styled.js +106 -0
- package/ui/elements/form/FileManagerElement.d.ts +24 -0
- package/ui/elements/form/FileManagerElement.js +91 -0
- package/ui/elements/form/FormElement.d.ts +21 -0
- package/ui/elements/form/FormElement.js +45 -0
- package/ui/elements/form/FormFieldElement.d.ts +55 -0
- package/ui/elements/form/FormFieldElement.js +183 -0
- package/ui/elements/form/HiddenElement.d.ts +6 -0
- package/ui/elements/form/HiddenElement.js +49 -0
- package/ui/elements/form/InputElement.d.ts +6 -0
- package/ui/elements/form/InputElement.js +55 -0
- package/ui/elements/form/PasswordElement.d.ts +6 -0
- package/ui/elements/form/PasswordElement.js +50 -0
- package/ui/elements/form/README.md +2 -0
- package/ui/elements/form/SelectElement.d.ts +15 -0
- package/ui/elements/form/SelectElement.js +71 -0
- package/ui/elements/form/TextareaElement.d.ts +15 -0
- package/ui/elements/form/TextareaElement.js +56 -0
- package/ui/views/AdminView/ContentElement.d.ts +4 -0
- package/ui/views/AdminView/ContentElement.js +62 -0
- package/ui/views/AdminView/HeaderElement.d.ts +13 -0
- package/ui/views/AdminView/HeaderElement.js +111 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionCenterElement.js +42 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionLeftElement.js +42 -0
- package/ui/views/AdminView/HeaderSectionRightElement.d.ts +6 -0
- package/ui/views/AdminView/HeaderSectionRightElement.js +42 -0
- package/ui/views/AdminView/components/Dialog.d.ts +2 -0
- package/ui/views/AdminView/components/Dialog.js +40 -0
- package/ui/views/AdminView/components/Hamburger.d.ts +3 -0
- package/ui/views/AdminView/components/Hamburger.js +25 -0
- package/ui/views/AdminView/components/Snackbar.d.ts +3 -0
- package/ui/views/AdminView/components/Snackbar.js +28 -0
- package/ui/views/AdminView.d.ts +12 -0
- package/ui/views/AdminView.js +90 -0
- package/ui/views/FormView/FormContainerElement.d.ts +12 -0
- package/ui/views/FormView/FormContainerElement.js +51 -0
- package/ui/views/FormView/FormContentElement.d.ts +3 -0
- package/ui/views/FormView/FormContentElement.js +17 -0
- package/ui/views/FormView/FormFooterElement.d.ts +6 -0
- package/ui/views/FormView/FormFooterElement.js +49 -0
- package/ui/views/FormView/FormHeaderElement.d.ts +14 -0
- package/ui/views/FormView/FormHeaderElement.js +81 -0
- package/ui/views/FormView.d.ts +40 -0
- package/ui/views/FormView.js +160 -0
- package/ui/views/NavigationView/ContentElement.d.ts +10 -0
- package/ui/views/NavigationView/ContentElement.js +86 -0
- package/ui/views/NavigationView/FooterElement.d.ts +13 -0
- package/ui/views/NavigationView/FooterElement.js +57 -0
- package/ui/views/NavigationView/HeaderElement.d.ts +16 -0
- package/ui/views/NavigationView/HeaderElement.js +66 -0
- package/ui/views/NavigationView/NavigationViewRenderer.d.ts +6 -0
- package/ui/views/NavigationView/NavigationViewRenderer.js +38 -0
- package/ui/views/NavigationView/Styled.d.ts +7 -0
- package/ui/views/NavigationView/Styled.js +47 -0
- package/ui/views/NavigationView/legacyMenu.d.ts +22 -0
- package/ui/views/NavigationView/legacyMenu.js +1 -0
- package/ui/views/NavigationView/useNavigation.d.ts +6 -0
- package/ui/views/NavigationView/useNavigation.js +22 -0
- package/ui/views/NavigationView.d.ts +26 -0
- package/ui/views/NavigationView.js +204 -0
- package/ui/views/OverlayView/ContentElement.d.ts +6 -0
- package/ui/views/OverlayView/ContentElement.js +42 -0
- package/ui/views/OverlayView/HeaderElement.d.ts +24 -0
- package/ui/views/OverlayView/HeaderElement.js +115 -0
- package/ui/views/OverlayView/HeaderTitleElement.d.ts +13 -0
- package/ui/views/OverlayView/HeaderTitleElement.js +54 -0
- package/ui/views/OverlayView/useOverlayView.d.ts +6 -0
- package/ui/views/OverlayView/useOverlayView.js +38 -0
- package/ui/views/OverlayView.d.ts +31 -0
- package/ui/views/OverlayView.js +176 -0
- package/ui/views/SplitView/SplitViewPanelElement.d.ts +11 -0
- package/ui/views/SplitView/SplitViewPanelElement.js +72 -0
- package/ui/views/SplitView.d.ts +21 -0
- package/ui/views/SplitView.js +142 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useQuery } from "@apollo/react-hooks";
|
|
3
|
+
import get from "lodash/get";
|
|
4
|
+
import sortBy from "lodash/sortBy";
|
|
5
|
+
import { css } from "emotion";
|
|
6
|
+
import styled from "@emotion/styled";
|
|
7
|
+
import { Icon } from "@webiny/ui/Icon";
|
|
8
|
+
import { ReactComponent as TagIcon } from "@svgr/webpack!./icons/round-label-24px.svg";
|
|
9
|
+
import { LIST_TAGS } from "./graphql";
|
|
10
|
+
var style = {
|
|
11
|
+
leftDrawer: /*#__PURE__*/css({
|
|
12
|
+
float: "left",
|
|
13
|
+
display: "inline-block",
|
|
14
|
+
width: 250,
|
|
15
|
+
height: "100%",
|
|
16
|
+
backgroundColor: "var(--mdc-theme-surface)",
|
|
17
|
+
padding: 10
|
|
18
|
+
}, "label:leftDrawer;"),
|
|
19
|
+
noTagged: /*#__PURE__*/css({
|
|
20
|
+
paddingTop: 100,
|
|
21
|
+
textAlign: "center",
|
|
22
|
+
color: "var(--mdc-theme-on-surface)"
|
|
23
|
+
}, "label:noTagged;")
|
|
24
|
+
};
|
|
25
|
+
var TagList = /*#__PURE__*/styled("div", {
|
|
26
|
+
target: "e1tgxgqn0",
|
|
27
|
+
label: "TagList"
|
|
28
|
+
})({
|
|
29
|
+
display: "flex",
|
|
30
|
+
flexDirection: "column"
|
|
31
|
+
});
|
|
32
|
+
var Tag = /*#__PURE__*/styled("div", {
|
|
33
|
+
target: "e1tgxgqn1",
|
|
34
|
+
label: "Tag"
|
|
35
|
+
})({
|
|
36
|
+
display: "flex",
|
|
37
|
+
flexDirection: "row",
|
|
38
|
+
height: 40,
|
|
39
|
+
alignItems: "center",
|
|
40
|
+
cursor: "pointer",
|
|
41
|
+
paddingLeft: 15,
|
|
42
|
+
color: "var(--mdc-theme-on-surface)",
|
|
43
|
+
svg: {
|
|
44
|
+
color: "var(--mdc-theme-on-surface)",
|
|
45
|
+
marginRight: 10
|
|
46
|
+
},
|
|
47
|
+
"&:hover": {
|
|
48
|
+
backgroundColor: "var(--mdc-theme-background)"
|
|
49
|
+
},
|
|
50
|
+
"&.active": {
|
|
51
|
+
svg: {
|
|
52
|
+
color: "var(--mdc-theme-secondary)"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
function LeftSidebar(_ref) {
|
|
58
|
+
var toggleTag = _ref.toggleTag,
|
|
59
|
+
tags = _ref.queryParams.tags;
|
|
60
|
+
var activeTags = Array.isArray(tags) ? tags : [];
|
|
61
|
+
|
|
62
|
+
var _useQuery = useQuery(LIST_TAGS),
|
|
63
|
+
data = _useQuery.data;
|
|
64
|
+
|
|
65
|
+
var list = get(data, "fileManager.listTags") || [];
|
|
66
|
+
|
|
67
|
+
if (list.length === 0) {
|
|
68
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: style.leftDrawer,
|
|
70
|
+
"data-testid": "fm.left-drawer.empty-tag"
|
|
71
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: style.noTagged
|
|
73
|
+
}, "Once you tag an image, the tag will be displayed here."));
|
|
74
|
+
} // Sort "tags" list in "ASC" order.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
var tagList = sortBy(list);
|
|
78
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
className: style.leftDrawer
|
|
80
|
+
}, /*#__PURE__*/React.createElement(TagList, {
|
|
81
|
+
"data-testid": "fm.left-drawer.tag-list"
|
|
82
|
+
}, tagList.map(function (item, index) {
|
|
83
|
+
return /*#__PURE__*/React.createElement(Tag, {
|
|
84
|
+
className: activeTags.includes(item) && "active",
|
|
85
|
+
key: item + index,
|
|
86
|
+
onClick: function onClick() {
|
|
87
|
+
return toggleTag(item);
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
90
|
+
icon: /*#__PURE__*/React.createElement(TagIcon, null)
|
|
91
|
+
}), " ", item);
|
|
92
|
+
})));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export default LeftSidebar;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2;
|
|
4
|
+
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { css } from "emotion";
|
|
7
|
+
import { Icon } from "@webiny/ui/Icon";
|
|
8
|
+
import { i18n } from "@webiny/app/i18n";
|
|
9
|
+
import { ReactComponent as PermissionIcon } from "@svgr/webpack!./icons/privacy_tip-24px.svg";
|
|
10
|
+
import { Typography } from "@webiny/ui/Typography";
|
|
11
|
+
var t = i18n.ns("app-admin/file-manager/file-manager-view/no-permission");
|
|
12
|
+
var styles = /*#__PURE__*/css({
|
|
13
|
+
margin: "0 auto",
|
|
14
|
+
paddingTop: 0,
|
|
15
|
+
height: "100%",
|
|
16
|
+
zIndex: 2,
|
|
17
|
+
width: "100%",
|
|
18
|
+
position: "absolute",
|
|
19
|
+
backgroundColor: "transparent",
|
|
20
|
+
"& .outer-container": {
|
|
21
|
+
textAlign: "center",
|
|
22
|
+
width: 300,
|
|
23
|
+
height: 300,
|
|
24
|
+
backgroundColor: "var(--mdc-theme-surface)",
|
|
25
|
+
borderRadius: "50%",
|
|
26
|
+
position: "absolute",
|
|
27
|
+
left: "50%",
|
|
28
|
+
top: "50%",
|
|
29
|
+
transform: "translateX(-50%) translateY(-100%)",
|
|
30
|
+
"& .inner-container": {
|
|
31
|
+
display: "flex",
|
|
32
|
+
flexDirection: "column",
|
|
33
|
+
alignItems: "center",
|
|
34
|
+
paddingTop: 35,
|
|
35
|
+
width: 300,
|
|
36
|
+
color: "var(--mdc-theme-on-surface)",
|
|
37
|
+
"svg.mdc-button__icon": {
|
|
38
|
+
width: 100,
|
|
39
|
+
display: "inline-block",
|
|
40
|
+
color: "var(--mdc-theme-on-surface)"
|
|
41
|
+
},
|
|
42
|
+
"& .title": {
|
|
43
|
+
marginTop: 8
|
|
44
|
+
},
|
|
45
|
+
"& .body": {
|
|
46
|
+
color: "var(--mdc-theme-text-secondary-on-background)"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, "label:styles;");
|
|
51
|
+
|
|
52
|
+
var NoPermissionView = function NoPermissionView() {
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: styles
|
|
55
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
className: "outer-container"
|
|
57
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
className: "inner-container"
|
|
59
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
60
|
+
icon: /*#__PURE__*/React.createElement(PermissionIcon, null)
|
|
61
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
62
|
+
className: "title",
|
|
63
|
+
use: "subtitle1"
|
|
64
|
+
}, t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Permission needed"])))), /*#__PURE__*/React.createElement(Typography, {
|
|
65
|
+
className: "body",
|
|
66
|
+
use: "body2"
|
|
67
|
+
}, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["You're missing required permission to access files. Please contact the administrator."])))))));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export default NoPermissionView;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { css } from "emotion";
|
|
3
|
+
var styles = /*#__PURE__*/css({
|
|
4
|
+
padding: "100px 0px",
|
|
5
|
+
textAlign: "center",
|
|
6
|
+
position: "absolute",
|
|
7
|
+
width: "100%"
|
|
8
|
+
}, "label:styles;");
|
|
9
|
+
export default function DropFilesHere() {
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: styles
|
|
12
|
+
}, /*#__PURE__*/React.createElement("div", null, "No results found."));
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getFileTypePlugin(file: any): any;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import invariant from "invariant";
|
|
3
|
+
import minimatch from "minimatch";
|
|
4
|
+
import { plugins } from "@webiny/plugins";
|
|
5
|
+
import { FileManagerFileTypePlugin } from "../../plugins/FileManagerFileTypePlugin";
|
|
6
|
+
export default function getFileTypePlugin(file) {
|
|
7
|
+
if (!file) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
var fileTypePlugins = [].concat(_toConsumableArray(plugins.byType("admin-file-manager-file-type")), _toConsumableArray(plugins.byType(FileManagerFileTypePlugin.type)));
|
|
12
|
+
var plugin = null;
|
|
13
|
+
|
|
14
|
+
for (var i = 0; i < fileTypePlugins.length; i++) {
|
|
15
|
+
// We don't want to include the global wildcard in this check.
|
|
16
|
+
var types = fileTypePlugins[i].types;
|
|
17
|
+
|
|
18
|
+
if (types.find(function (t) {
|
|
19
|
+
return minimatch(file.type, t);
|
|
20
|
+
})) {
|
|
21
|
+
plugin = fileTypePlugins[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
invariant(plugin, "Missing plugin to handle \"".concat(file.type, "\"!"));
|
|
26
|
+
return plugin;
|
|
27
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { plugins } from "@webiny/plugins";
|
|
2
|
+
export default (function () {
|
|
3
|
+
var fileStoragePlugin = plugins.byName("app-file-manager-storage");
|
|
4
|
+
|
|
5
|
+
if (!fileStoragePlugin) {
|
|
6
|
+
throw Error('Missing plugin: "app-file-manager-storage".');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
return fileStoragePlugin.upload;
|
|
10
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const LIST_FILES: import("graphql").DocumentNode;
|
|
2
|
+
export declare const LIST_TAGS: import("graphql").DocumentNode;
|
|
3
|
+
export declare const CREATE_FILE: import("graphql").DocumentNode;
|
|
4
|
+
export declare const UPDATE_FILE: import("graphql").DocumentNode;
|
|
5
|
+
export declare const DELETE_FILE: import("graphql").DocumentNode;
|
|
6
|
+
export declare const GET_FILE_SETTINGS: import("graphql").DocumentNode;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
4
|
+
|
|
5
|
+
import gql from "graphql-tag";
|
|
6
|
+
var FILE_FIELDS =
|
|
7
|
+
/* GraphQL */
|
|
8
|
+
"\n {\n __typename\n id\n name\n key\n src\n size\n type\n tags\n createdOn\n createdBy {\n id\n }\n }\n";
|
|
9
|
+
var ERROR_FIELDS =
|
|
10
|
+
/* GraphQL */
|
|
11
|
+
"\n {\n code\n message\n data\n }\n";
|
|
12
|
+
export var LIST_FILES = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query ListFiles($types: [String], $tags: [String], $limit: Int, $search: String, $after: String) {\n fileManager {\n listFiles(types: $types, limit: $limit, search: $search, tags: $tags, after: $after) {\n data ", "\n meta {\n cursor\n totalCount\n }\n }\n }\n }\n"])), FILE_FIELDS);
|
|
13
|
+
export var LIST_TAGS = gql(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query ListTags {\n fileManager {\n listTags\n }\n }\n"])));
|
|
14
|
+
export var CREATE_FILE = gql(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n mutation CreateFile($data: FileInput!) {\n fileManager {\n createFile(data: $data) {\n error ", "\n data ", "\n }\n }\n }\n"])), ERROR_FIELDS, FILE_FIELDS);
|
|
15
|
+
export var UPDATE_FILE = gql(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n mutation UpdateFile($id: ID!, $data: FileInput!) {\n fileManager {\n updateFile(id: $id, data: $data) {\n data {\n id\n src\n name\n tags\n }\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
16
|
+
export var DELETE_FILE = gql(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n mutation deleteFile($id: ID!) {\n fileManager {\n deleteFile(id: $id) {\n data\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
17
|
+
export var GET_FILE_SETTINGS = gql(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n query getSettings {\n fileManager {\n getSettings {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n }\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><g><rect fill="none" height="24" width="24"/></g><g><path d="M15,20H5V7c0-0.55-0.45-1-1-1h0C3.45,6,3,6.45,3,7v13c0,1.1,0.9,2,2,2h10c0.55,0,1-0.45,1-1v0C16,20.45,15.55,20,15,20z M20,16V4c0-1.1-0.9-2-2-2H9C7.9,2,7,2.9,7,4v12c0,1.1,0.9,2,2,2h9C19.1,18,20,17.1,20,16z M18,16H9V4h9V16z"/></g></svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
|
4
|
+
height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
5
|
+
<g id="Rounded">
|
|
6
|
+
<g id="ui_x5F_spec_x5F_header_copy_5">
|
|
7
|
+
</g>
|
|
8
|
+
<path fill="currentColor" d="M6,19c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V9c0-1.1-0.9-2-2-2H8C6.9,7,6,7.9,6,9V19z M18,4h-2.5l-0.71-0.71
|
|
9
|
+
C14.61,3.11,14.35,3,14.09,3H9.91C9.65,3,9.39,3.11,9.21,3.29L8.5,4H6C5.45,4,5,4.45,5,5v0c0,0.55,0.45,1,1,1h12c0.55,0,1-0.45,1-1
|
|
10
|
+
v0C19,4.45,18.55,4,18,4z"/>
|
|
11
|
+
</g>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
viewBox="0 0 24 24"
|
|
4
|
+
fill="currentColor"
|
|
5
|
+
>
|
|
6
|
+
<g>
|
|
7
|
+
<rect fill="none" height="24" width="24" y="0"/>
|
|
8
|
+
<path d="M4.19,4.47C3.47,4.79,3,5.51,3,6.3V11c0,5.55,3.84,10.74,9,12c5.16-1.26,9-6.45,9-12V6.3c0-0.79-0.47-1.51-1.19-1.83 l-7-3.11c-0.52-0.23-1.11-0.23-1.62,0L4.19,4.47z M12,7L12,7c0.55,0,1,0.45,1,1v0c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v0 C11,7.45,11.45,7,12,7z M12,11L12,11c0.55,0,1,0.45,1,1v4c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v-4C11,11.45,11.45,11,12,11z"/>
|
|
9
|
+
</g>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29c-.39.39-1.02.39-1.41 0L5.71 12.7c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0L10 14.17l6.88-6.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-7.58 7.59z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-4.65 4.65c-.2.2-.51.2-.71 0L7 13h3V9h4v4h3z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l4.65-4.65c.2-.2.51-.2.71 0L17 13h-3z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M14.59 2.59c-.38-.38-.89-.59-1.42-.59H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.41l-4.82-4.83zM15 18H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm0-4H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm-2-6V3.5L18.5 9H14c-.55 0-1-.45-1-1z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="currentColor" d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/>
|
|
3
|
+
<path d="M0 0h24v24H0z" fill="none"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1-8h-2V7h2v2z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84l3.96-5.58c.25-.35.25-.81 0-1.16l-3.96-5.58z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
+
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
+
<path fill="currentColor" d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
|
4
|
+
height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
5
|
+
<g id="Header_x2F_BG" display="none">
|
|
6
|
+
<rect x="-358" y="-314" display="inline" fill="#F1F1F2" width="520" height="520"/>
|
|
7
|
+
</g>
|
|
8
|
+
<g id="Bounding_Boxes">
|
|
9
|
+
<g id="ui_x5F_spec_x5F_header_copy_3" display="none">
|
|
10
|
+
</g>
|
|
11
|
+
<path fill="none" d="M0,0h24v24H0V0z"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="Rounded">
|
|
14
|
+
<g id="ui_x5F_spec_x5F_header_copy_5" display="none">
|
|
15
|
+
</g>
|
|
16
|
+
<path fill="currentColor" d="M15.5,14h-0.79l-0.28-0.27c1.2-1.4,1.82-3.31,1.48-5.34c-0.47-2.78-2.79-5-5.59-5.34c-4.23-0.52-7.79,3.04-7.27,7.27
|
|
17
|
+
c0.34,2.8,2.56,5.12,5.34,5.59c2.03,0.34,3.94-0.28,5.34-1.48L14,14.71v0.79l4.25,4.25c0.41,0.41,1.08,0.41,1.49,0l0,0
|
|
18
|
+
c0.41-0.41,0.41-1.08,0-1.49L15.5,14z M9.5,14C7.01,14,5,11.99,5,9.5S7.01,5,9.5,5S14,7.01,14,9.5S11.99,14,9.5,14z"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import bytes from "bytes";
|
|
2
|
+
export default (function (errors) {
|
|
3
|
+
if (errors.length > 1) {
|
|
4
|
+
var error = errors.find(function (error) {
|
|
5
|
+
return error.type === "multipleMaxCountExceeded";
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
if (error) {
|
|
9
|
+
return "Cannot upload more than ".concat(error.multipleMaxCount, " files at once.");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
error = errors.find(function (error) {
|
|
13
|
+
return error.type === "multipleMaxSizeExceeded";
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
if (error) {
|
|
17
|
+
return "Cannot upload more than ".concat(bytes.format(error.multipleMaxSize), " at once.");
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return "Multiple invalid files selected.";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
switch (errors[0].type) {
|
|
24
|
+
case "unsupportedFileType":
|
|
25
|
+
return "Unsupported file type.";
|
|
26
|
+
|
|
27
|
+
case "maxSizeExceeded":
|
|
28
|
+
return "Max size exceeded.";
|
|
29
|
+
|
|
30
|
+
case "multipleMaxCountExceeded":
|
|
31
|
+
return "Multiple max files exceeded.";
|
|
32
|
+
|
|
33
|
+
case "multipleMaxSizeExceeded":
|
|
34
|
+
return "Multiple max size exceeded.";
|
|
35
|
+
|
|
36
|
+
case "multipleNotAllowed":
|
|
37
|
+
return "Only one file allowed.";
|
|
38
|
+
}
|
|
39
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare type FileManagerProps = {
|
|
3
|
+
onChange?: Function;
|
|
4
|
+
onChangePick?: string[];
|
|
5
|
+
images?: boolean;
|
|
6
|
+
multiple?: boolean;
|
|
7
|
+
accept?: Array<string>;
|
|
8
|
+
children: ({ showFileManager: Function }: {
|
|
9
|
+
showFileManager: any;
|
|
10
|
+
}) => React.ReactNode;
|
|
11
|
+
maxSize?: number | string;
|
|
12
|
+
multipleMaxCount?: number;
|
|
13
|
+
multipleMaxSize?: number | string;
|
|
14
|
+
onClose?: Function;
|
|
15
|
+
onUploadCompletion?: Function;
|
|
16
|
+
};
|
|
17
|
+
export declare function FileManager({ children, ...rest }: FileManagerProps): JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
7
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
9
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
+
var _excluded = ["children"];
|
|
11
|
+
import * as React from "react";
|
|
12
|
+
import ReactDOM from "react-dom";
|
|
13
|
+
import FileManagerView from "./FileManager/FileManagerView";
|
|
14
|
+
import pick from "lodash/pick";
|
|
15
|
+
import { FileManagerProvider } from "./FileManager/FileManagerContext";
|
|
16
|
+
var useState = React.useState,
|
|
17
|
+
useRef = React.useRef,
|
|
18
|
+
useCallback = React.useCallback,
|
|
19
|
+
useEffect = React.useEffect;
|
|
20
|
+
|
|
21
|
+
var FileManagerPortal = /*#__PURE__*/function (_React$Component) {
|
|
22
|
+
_inherits(FileManagerPortal, _React$Component);
|
|
23
|
+
|
|
24
|
+
var _super = _createSuper(FileManagerPortal);
|
|
25
|
+
|
|
26
|
+
function FileManagerPortal(props) {
|
|
27
|
+
var _this;
|
|
28
|
+
|
|
29
|
+
_classCallCheck(this, FileManagerPortal);
|
|
30
|
+
|
|
31
|
+
_this = _super.call(this, props);
|
|
32
|
+
|
|
33
|
+
_defineProperty(_assertThisInitialized(_this), "container", void 0);
|
|
34
|
+
|
|
35
|
+
if (!window) {
|
|
36
|
+
return _possibleConstructorReturn(_this);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
_this.container = window.document.getElementById("file-manager-container");
|
|
40
|
+
|
|
41
|
+
if (!_this.container) {
|
|
42
|
+
_this.container = document.createElement("div");
|
|
43
|
+
|
|
44
|
+
_this.container.setAttribute("id", "file-manager-container");
|
|
45
|
+
|
|
46
|
+
var container = _this.container;
|
|
47
|
+
document.body && document.body.appendChild(container);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return _this;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
_createClass(FileManagerPortal, [{
|
|
54
|
+
key: "render",
|
|
55
|
+
value: function render() {
|
|
56
|
+
var _this$props = this.props,
|
|
57
|
+
onChange = _this$props.onChange,
|
|
58
|
+
onClose = _this$props.onClose,
|
|
59
|
+
accept = _this$props.accept,
|
|
60
|
+
onChangePick = _this$props.onChangePick,
|
|
61
|
+
multiple = _this$props.multiple,
|
|
62
|
+
images = _this$props.images,
|
|
63
|
+
maxSize = _this$props.maxSize,
|
|
64
|
+
multipleMaxCount = _this$props.multipleMaxCount,
|
|
65
|
+
multipleMaxSize = _this$props.multipleMaxSize,
|
|
66
|
+
onUploadCompletion = _this$props.onUploadCompletion;
|
|
67
|
+
var container = this.container;
|
|
68
|
+
|
|
69
|
+
var handleFileOnChange = function handleFileOnChange(files) {
|
|
70
|
+
var fields = Array.isArray(onChangePick) ? onChangePick : ["id", "name", "key", "src", "size", "type"];
|
|
71
|
+
|
|
72
|
+
if (Array.isArray(files)) {
|
|
73
|
+
onChange(files.map(function (file) {
|
|
74
|
+
return pick(file, fields);
|
|
75
|
+
}));
|
|
76
|
+
} else {
|
|
77
|
+
onChange(pick(files, fields));
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var props = {
|
|
82
|
+
onChange: typeof onChange === "function" ? handleFileOnChange : undefined,
|
|
83
|
+
onClose: onClose,
|
|
84
|
+
accept: accept,
|
|
85
|
+
multiple: multiple,
|
|
86
|
+
maxSize: maxSize,
|
|
87
|
+
multipleMaxCount: multipleMaxCount,
|
|
88
|
+
multipleMaxSize: multipleMaxSize,
|
|
89
|
+
onUploadCompletion: onUploadCompletion
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
if (images) {
|
|
93
|
+
props.accept = ["image/jpg", "image/jpeg", "image/tiff", "image/gif", "image/png", "image/webp", "image/bmp", "image/svg+xml"];
|
|
94
|
+
} // Let's pass "permanent" / "persistent" / "temporary" flags as "mode" prop instead.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(FileManagerProvider, props, /*#__PURE__*/React.createElement(FileManagerView, props)), container);
|
|
98
|
+
}
|
|
99
|
+
}]);
|
|
100
|
+
|
|
101
|
+
return FileManagerPortal;
|
|
102
|
+
}(React.Component);
|
|
103
|
+
|
|
104
|
+
export function FileManager(_ref) {
|
|
105
|
+
var children = _ref.children,
|
|
106
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
107
|
+
|
|
108
|
+
var _useState = useState(false),
|
|
109
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
110
|
+
show = _useState2[0],
|
|
111
|
+
setShow = _useState2[1];
|
|
112
|
+
|
|
113
|
+
var onChangeRef = useRef(rest.onChange);
|
|
114
|
+
useEffect(function () {
|
|
115
|
+
onChangeRef.current = rest.onChange;
|
|
116
|
+
}, [rest.onChange]);
|
|
117
|
+
var showFileManager = useCallback(function (onChange) {
|
|
118
|
+
if (typeof onChange === "function") {
|
|
119
|
+
onChangeRef.current = onChange;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
setShow(true);
|
|
123
|
+
}, []);
|
|
124
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, show && /*#__PURE__*/React.createElement(FileManagerPortal, Object.assign({
|
|
125
|
+
onClose: function onClose() {
|
|
126
|
+
return setShow(false);
|
|
127
|
+
}
|
|
128
|
+
}, rest, {
|
|
129
|
+
onChange: onChangeRef.current
|
|
130
|
+
})), children({
|
|
131
|
+
showFileManager: showFileManager
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ButtonFloating } from "@webiny/ui/Button";
|
|
3
|
+
import { ReactComponent as AddIcon } from "@svgr/webpack!../assets/icons/round-add-24px.svg"; // Set "styles" inline, since no customizations are possible / needed here.
|
|
4
|
+
|
|
5
|
+
var FloatingActionButton = function FloatingActionButton(props) {
|
|
6
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7
|
+
style: {
|
|
8
|
+
position: "absolute",
|
|
9
|
+
bottom: 20,
|
|
10
|
+
right: 20
|
|
11
|
+
}
|
|
12
|
+
}, /*#__PURE__*/React.createElement(ButtonFloating, Object.assign({}, props, {
|
|
13
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
14
|
+
})));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { FloatingActionButton };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
var _excluded = ["imagePreviewProps"];
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Image } from "@webiny/app/components/Image";
|
|
5
|
+
import { MultiImageUpload as UiMultiImageUpload } from "@webiny/ui/ImageUpload"; // TODO: @adrian define props type
|
|
6
|
+
|
|
7
|
+
export default function MultiImageUpload(_ref) {
|
|
8
|
+
var imagePreviewProps = _ref.imagePreviewProps,
|
|
9
|
+
multiImageUploadProps = _objectWithoutProperties(_ref, _excluded);
|
|
10
|
+
|
|
11
|
+
return /*#__PURE__*/React.createElement(UiMultiImageUpload, Object.assign({
|
|
12
|
+
renderImagePreview: function renderImagePreview(renderImageProps) {
|
|
13
|
+
return /*#__PURE__*/React.createElement(Image, Object.assign({
|
|
14
|
+
transform: {
|
|
15
|
+
width: 300
|
|
16
|
+
}
|
|
17
|
+
}, imagePreviewProps, renderImageProps));
|
|
18
|
+
}
|
|
19
|
+
}, multiImageUploadProps));
|
|
20
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare type OverlayLayoutProps = {
|
|
3
|
+
barMiddle?: React.ReactNode;
|
|
4
|
+
barLeft?: React.ReactNode;
|
|
5
|
+
barRight?: React.ReactNode;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
onExited?: Function;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
};
|
|
10
|
+
declare type State = {
|
|
11
|
+
isVisible: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare class OverlayLayout extends React.Component<OverlayLayoutProps, State> {
|
|
14
|
+
constructor(props: any);
|
|
15
|
+
static defaultProps: {
|
|
16
|
+
onExited: any;
|
|
17
|
+
};
|
|
18
|
+
state: {
|
|
19
|
+
isVisible: boolean;
|
|
20
|
+
};
|
|
21
|
+
hideComponent(): void;
|
|
22
|
+
componentWillUnmount(): void;
|
|
23
|
+
render(): JSX.Element;
|
|
24
|
+
}
|
|
25
|
+
export {};
|