@webiny/app-file-manager 5.38.1 → 5.38.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/FileDetails/FileDetails.js +28 -15
- package/components/FileDetails/FileDetails.js.map +1 -1
- package/components/FileDetails/components/Content.d.ts +2 -1
- package/components/FileDetails/components/Content.js +11 -6
- package/components/FileDetails/components/Content.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +4 -3
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.d.ts +5 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js +23 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +2 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -1
- package/modules/FileManagerRenderer/index.js +4 -0
- package/modules/FileManagerRenderer/index.js.map +1 -1
- package/modules/FileTypes/fileImage/EditAction.js +1 -0
- package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
- package/package.json +17 -17
|
@@ -36,13 +36,13 @@ var _appAdmin = require("@webiny/app-admin");
|
|
|
36
36
|
var _useFileDetails2 = require("../../hooks/useFileDetails");
|
|
37
37
|
var _FileProvider = require("../../contexts/FileProvider");
|
|
38
38
|
var _appHeadlessCmsCommon = require("@webiny/app-headless-cms-common");
|
|
39
|
-
var _excluded = ["id"]; // @ts-
|
|
39
|
+
var _excluded = ["id"]; // @ts-expect-error
|
|
40
40
|
var FileDetailsDrawer = /*#__PURE__*/(0, _styled.default)(_Drawer.Drawer, {
|
|
41
41
|
label: "FileDetailsDrawer",
|
|
42
42
|
target: "ekbey2w0"
|
|
43
43
|
})("z-index:70;&.mdc-drawer{width:", function (props) {
|
|
44
44
|
return props.width;
|
|
45
|
-
}, ";}");
|
|
45
|
+
}, ";}& + .mdc-drawer-scrim{z-index:65;}");
|
|
46
46
|
var FormContainer = /*#__PURE__*/(0, _styled.default)(_SimpleForm.SimpleForm, {
|
|
47
47
|
label: "FormContainer",
|
|
48
48
|
target: "ekbey2w1"
|
|
@@ -53,7 +53,7 @@ var prepareFileData = function prepareFileData(data, fields) {
|
|
|
53
53
|
return output;
|
|
54
54
|
}
|
|
55
55
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, output), {}, {
|
|
56
|
-
extensions: (0, _appHeadlessCmsCommon.prepareFormData)(output.extensions, fields)
|
|
56
|
+
extensions: (0, _appHeadlessCmsCommon.prepareFormData)(output.extensions || {}, fields)
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
59
|
var FileDetailsInner = function FileDetailsInner(_ref) {
|
|
@@ -71,6 +71,12 @@ var FileDetailsInner = function FileDetailsInner(_ref) {
|
|
|
71
71
|
close = _useFileDetails.close;
|
|
72
72
|
var _useFileManagerViewCo = (0, _.useFileManagerViewConfig)(),
|
|
73
73
|
fileDetails = _useFileManagerViewCo.fileDetails;
|
|
74
|
+
var _fileDetails$width$sp = fileDetails.width.split(","),
|
|
75
|
+
_fileDetails$width$sp2 = (0, _slicedToArray2.default)(_fileDetails$width$sp, 3),
|
|
76
|
+
_fileDetails$width$sp3 = _fileDetails$width$sp2[1],
|
|
77
|
+
leftPanel = _fileDetails$width$sp3 === void 0 ? "1" : _fileDetails$width$sp3,
|
|
78
|
+
_fileDetails$width$sp4 = _fileDetails$width$sp2[2],
|
|
79
|
+
rightPanel = _fileDetails$width$sp4 === void 0 ? "1" : _fileDetails$width$sp4;
|
|
74
80
|
var extensionFields = (0, _react.useMemo)(function () {
|
|
75
81
|
var _fields$settings, _fields$settings2;
|
|
76
82
|
var fields = fileModel.fields.find(function (field) {
|
|
@@ -106,6 +112,15 @@ var FileDetailsInner = function FileDetailsInner(_ref) {
|
|
|
106
112
|
return _ref3.apply(this, arguments);
|
|
107
113
|
};
|
|
108
114
|
}();
|
|
115
|
+
var basicFieldsElement = /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, fileDetails.fields.map(function (field) {
|
|
116
|
+
return /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
117
|
+
span: 12,
|
|
118
|
+
key: field.name
|
|
119
|
+
}, field.element);
|
|
120
|
+
}));
|
|
121
|
+
var extensionFieldsElement = extensionFields.length > 0 ? /*#__PURE__*/_react.default.createElement(_Extensions.Extensions, {
|
|
122
|
+
model: fileModel
|
|
123
|
+
}) : null;
|
|
109
124
|
return /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
110
125
|
data: file,
|
|
111
126
|
onSubmit: onSubmit
|
|
@@ -114,23 +129,20 @@ var FileDetailsInner = function FileDetailsInner(_ref) {
|
|
|
114
129
|
dir: "ltr"
|
|
115
130
|
}, isLoading ? /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
116
131
|
label: "Saving file..."
|
|
117
|
-
}) : null, /*#__PURE__*/_react.default.createElement(FormContainer, null, /*#__PURE__*/_react.default.createElement(_Header.Header, null), /*#__PURE__*/_react.default.createElement(_Content.Content, null, /*#__PURE__*/_react.default.createElement(_Content.Content.Panel,
|
|
132
|
+
}) : null, /*#__PURE__*/_react.default.createElement(FormContainer, null, /*#__PURE__*/_react.default.createElement(_Header.Header, null), /*#__PURE__*/_react.default.createElement(_Content.Content, null, /*#__PURE__*/_react.default.createElement(_Content.Content.Panel, {
|
|
133
|
+
flex: parseFloat(leftPanel)
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
118
135
|
z: 2,
|
|
119
136
|
style: {
|
|
120
137
|
margin: 20
|
|
121
138
|
}
|
|
122
|
-
}, /*#__PURE__*/_react.default.createElement(_Actions.Actions, null), /*#__PURE__*/_react.default.createElement(_Preview.Preview, null), /*#__PURE__*/_react.default.createElement(_PreviewMeta.PreviewMeta, null))), /*#__PURE__*/_react.default.createElement(_Content.Content.Panel,
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(_Actions.Actions, null), /*#__PURE__*/_react.default.createElement(_Preview.Preview, null), /*#__PURE__*/_react.default.createElement(_PreviewMeta.PreviewMeta, null))), /*#__PURE__*/_react.default.createElement(_Content.Content.Panel, {
|
|
140
|
+
flex: parseFloat(rightPanel)
|
|
141
|
+
}, fileDetails.groupFields ? /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, null, /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
123
142
|
label: "Basic Details"
|
|
124
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
125
|
-
return /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
126
|
-
span: 12,
|
|
127
|
-
key: field.name
|
|
128
|
-
}, field.element);
|
|
129
|
-
}))), extensionFields.length > 0 ? /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
143
|
+
}, basicFieldsElement), /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
130
144
|
label: "Advanced Details"
|
|
131
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
132
|
-
model: fileModel
|
|
133
|
-
})) : null))), /*#__PURE__*/_react.default.createElement(_Footer.Footer, null)));
|
|
145
|
+
}, extensionFieldsElement)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, basicFieldsElement, extensionFieldsElement))), /*#__PURE__*/_react.default.createElement(_Footer.Footer, null)));
|
|
134
146
|
});
|
|
135
147
|
};
|
|
136
148
|
var FileDetails = function FileDetails(_ref4) {
|
|
@@ -147,8 +159,9 @@ var FileDetails = function FileDetails(_ref4) {
|
|
|
147
159
|
});
|
|
148
160
|
var _useFileManagerViewCo2 = (0, _.useFileManagerViewConfig)(),
|
|
149
161
|
fileDetails = _useFileManagerViewCo2.fileDetails;
|
|
162
|
+
var drawerWidth = fileDetails.width.split(",")[0];
|
|
150
163
|
return /*#__PURE__*/_react.default.createElement(FileDetailsDrawer, {
|
|
151
|
-
width:
|
|
164
|
+
width: drawerWidth,
|
|
152
165
|
dir: "rtl",
|
|
153
166
|
modal: true,
|
|
154
167
|
open: open,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHotkeyz","_omit","_interopRequireDefault","_styled","_form","_Drawer","_Progress","_Grid","_Tabs","_FileDetailsProvider","_Preview","_PreviewMeta","_Actions","_Header","_Elevation","_Content","_SimpleForm","_Footer","_Extensions","_useFileModel","_","_appAdmin","_useFileDetails2","_FileProvider","_appHeadlessCmsCommon","_excluded","FileDetailsDrawer","styled","Drawer","label","target","props","width","FormContainer","SimpleForm","prepareFileData","data","fields","output","omit","length","_objectSpread2","default","extensions","prepareFormData","FileDetailsInner","_ref","file","_useState","useState","_useState2","_slicedToArray2","isLoading","setLoading","_useSnackbar","useSnackbar","showSnackbar","fileModel","useFileModel","_useFileManagerView","useFileManagerView","updateFile","_useFileDetails","useFileDetails","close","_useFileManagerViewCo","useFileManagerViewConfig","fileDetails","extensionFields","useMemo","_fields$settings","_fields$settings2","find","field","fieldId","settings","onSubmit","_ref3","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref2","id","fileData","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","stop","_x","apply","arguments","createElement","Form","DrawerContent","dir","CircularProgress","Header","Content","Panel","Elevation","z","style","margin","Actions","Preview","PreviewMeta","Tabs","Tab","Grid","map","Cell","span","key","name","element","Extensions","model","Footer","FileDetails","_ref4","open","onClose","loading","useHotkeys","zIndex","disabled","keys","esc","_useFileManagerViewCo2","modal","FileProvider","FileDetailsProvider","hideFileDetails","exports"],"sources":["FileDetails.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport omit from \"lodash/omit\";\nimport styled from \"@emotion/styled\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Form, FormOnSubmit } from \"@webiny/form\";\nimport { Drawer, DrawerContent } from \"@webiny/ui/Drawer\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Tab, Tabs } from \"@webiny/ui/Tabs\";\nimport { FileDetailsProvider } from \"~/components/FileDetails/FileDetailsProvider\";\nimport { Preview } from \"./components/Preview\";\nimport { PreviewMeta } from \"./components/PreviewMeta\";\nimport { Actions } from \"./components/Actions\";\nimport { Header } from \"./components/Header\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Content } from \"./components/Content\";\nimport { SimpleForm } from \"@webiny/app-admin/components/SimpleForm\";\nimport { Footer } from \"./components/Footer\";\nimport { Extensions } from \"./components/Extensions\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { useFileManagerView, useFileManagerViewConfig } from \"~/index\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { useFileDetails } from \"~/hooks/useFileDetails\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\nimport { prepareFormData } from \"@webiny/app-headless-cms-common\";\nimport { CmsModelField } from \"@webiny/app-headless-cms/types\";\n\ntype FileDetailsDrawerProps = React.ComponentProps<typeof Drawer> & { width: string };\n\nconst FileDetailsDrawer = styled(Drawer)<FileDetailsDrawerProps>`\n z-index: 70;\n &.mdc-drawer {\n width: ${props => props.width};\n }\n`;\n\nconst FormContainer = styled(SimpleForm)`\n margin: 0;\n /* Fix for the dir=rtl when a form is inside a drawer placed on the right side */\n .mdc-floating-label {\n transform-origin: left top !important;\n left: 16px !important;\n right: initial !important;\n }\n`;\n\ninterface FileDetailsInnerProps {\n file: FileItem;\n onClose: () => void;\n}\n\nconst prepareFileData = (data: Record<string, any>, fields: CmsModelField[]) => {\n const output = omit(data, [\"createdBy\", \"createdOn\", \"src\"]);\n if (fields.length === 0) {\n return output;\n }\n return {\n ...output,\n extensions: prepareFormData(output.extensions, fields)\n };\n};\n\nconst FileDetailsInner: React.FC<FileDetailsInnerProps> = ({ file }) => {\n const [isLoading, setLoading] = useState(false);\n const { showSnackbar } = useSnackbar();\n const fileModel = useFileModel();\n const { updateFile } = useFileManagerView();\n const { close } = useFileDetails();\n const { fileDetails } = useFileManagerViewConfig();\n\n const extensionFields = useMemo(() => {\n const fields = fileModel.fields.find(field => field.fieldId === \"extensions\");\n if (!fields?.settings?.fields) {\n return [];\n }\n return fields?.settings?.fields || [];\n }, [fileModel]);\n\n const onSubmit: FormOnSubmit<FileItem> = async ({ id, ...data }) => {\n setLoading(true);\n const fileData = prepareFileData(data, extensionFields);\n await updateFile(id, fileData);\n setLoading(false);\n showSnackbar(\"File updated successfully!\");\n close();\n };\n\n return (\n <Form data={file} onSubmit={onSubmit}>\n {() => (\n <DrawerContent dir=\"ltr\">\n {isLoading ? <CircularProgress label={\"Saving file...\"} /> : null}\n <FormContainer>\n <Header />\n <Content>\n <Content.Panel>\n <Elevation z={2} style={{ margin: 20 }}>\n <Actions />\n <Preview />\n <PreviewMeta />\n </Elevation>\n </Content.Panel>\n <Content.Panel>\n <Tabs>\n <Tab label={\"Basic Details\"}>\n <Grid>\n {fileDetails.fields.map(field => (\n <Cell span={12} key={field.name}>\n {field.element}\n </Cell>\n ))}\n </Grid>\n </Tab>\n {extensionFields.length > 0 ? (\n <Tab label={\"Advanced Details\"}>\n <Extensions model={fileModel} />\n </Tab>\n ) : null}\n </Tabs>\n </Content.Panel>\n </Content>\n <Footer />\n </FormContainer>\n </DrawerContent>\n )}\n </Form>\n );\n};\n\nexport interface FileDetailsProps {\n file?: FileItem;\n open: boolean;\n loading: boolean;\n onClose: () => void;\n}\n\nexport const FileDetails: React.FC<FileDetailsProps> = ({ open, onClose, loading, file }) => {\n useHotkeys({\n zIndex: 55,\n disabled: !open,\n keys: {\n esc: onClose\n }\n });\n\n const { fileDetails } = useFileManagerViewConfig();\n\n return (\n <FileDetailsDrawer\n width={fileDetails.width}\n dir=\"rtl\"\n modal\n open={open}\n onClose={onClose}\n data-testid={\"fm.file-details.drawer\"}\n >\n <DrawerContent dir=\"ltr\">\n {loading && <CircularProgress label={\"Loading file details...\"} />}\n {file && (\n <FileProvider file={file}>\n <FileDetailsProvider hideFileDetails={onClose}>\n <FileDetailsInner file={file} onClose={onClose} />\n </FileDetailsProvider>\n </FileProvider>\n )}\n </DrawerContent>\n </FileDetailsDrawer>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHotkeyz","_omit","_interopRequireDefault","_styled","_form","_Drawer","_Progress","_Grid","_Tabs","_FileDetailsProvider","_Preview","_PreviewMeta","_Actions","_Header","_Elevation","_Content","_SimpleForm","_Footer","_Extensions","_useFileModel","_","_appAdmin","_useFileDetails2","_FileProvider","_appHeadlessCmsCommon","_excluded","FileDetailsDrawer","styled","Drawer","label","target","props","width","FormContainer","SimpleForm","prepareFileData","data","fields","output","omit","length","_objectSpread2","default","extensions","prepareFormData","FileDetailsInner","_ref","file","_useState","useState","_useState2","_slicedToArray2","isLoading","setLoading","_useSnackbar","useSnackbar","showSnackbar","fileModel","useFileModel","_useFileManagerView","useFileManagerView","updateFile","_useFileDetails","useFileDetails","close","_useFileManagerViewCo","useFileManagerViewConfig","fileDetails","_fileDetails$width$sp","split","_fileDetails$width$sp2","_fileDetails$width$sp3","leftPanel","_fileDetails$width$sp4","rightPanel","extensionFields","useMemo","_fields$settings","_fields$settings2","find","field","fieldId","settings","onSubmit","_ref3","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref2","id","fileData","wrap","_callee$","_context","prev","next","_objectWithoutProperties2","stop","_x","apply","arguments","basicFieldsElement","createElement","Grid","map","Cell","span","key","name","element","extensionFieldsElement","Extensions","model","Form","DrawerContent","dir","CircularProgress","Header","Content","Panel","flex","parseFloat","Elevation","z","style","margin","Actions","Preview","PreviewMeta","groupFields","Tabs","Tab","Fragment","Footer","FileDetails","_ref4","open","onClose","loading","useHotkeys","zIndex","disabled","keys","esc","_useFileManagerViewCo2","drawerWidth","modal","FileProvider","FileDetailsProvider","hideFileDetails","exports"],"sources":["FileDetails.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\n// @ts-expect-error\nimport { useHotkeys } from \"react-hotkeyz\";\nimport omit from \"lodash/omit\";\nimport styled from \"@emotion/styled\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Form, FormOnSubmit } from \"@webiny/form\";\nimport { Drawer, DrawerContent } from \"@webiny/ui/Drawer\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Tab, Tabs } from \"@webiny/ui/Tabs\";\nimport { FileDetailsProvider } from \"~/components/FileDetails/FileDetailsProvider\";\nimport { Preview } from \"./components/Preview\";\nimport { PreviewMeta } from \"./components/PreviewMeta\";\nimport { Actions } from \"./components/Actions\";\nimport { Header } from \"./components/Header\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Content } from \"./components/Content\";\nimport { SimpleForm } from \"@webiny/app-admin/components/SimpleForm\";\nimport { Footer } from \"./components/Footer\";\nimport { Extensions } from \"./components/Extensions\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { useFileManagerView, useFileManagerViewConfig } from \"~/index\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { useFileDetails } from \"~/hooks/useFileDetails\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\nimport { prepareFormData } from \"@webiny/app-headless-cms-common\";\nimport { CmsModelField } from \"@webiny/app-headless-cms/types\";\n\ntype FileDetailsDrawerProps = React.ComponentProps<typeof Drawer> & { width: string };\n\nconst FileDetailsDrawer = styled(Drawer)<FileDetailsDrawerProps>`\n z-index: 70;\n &.mdc-drawer {\n width: ${props => props.width};\n }\n & + .mdc-drawer-scrim {\n z-index: 65;\n }\n`;\n\nconst FormContainer = styled(SimpleForm)`\n margin: 0;\n /* Fix for the dir=rtl when a form is inside a drawer placed on the right side */\n .mdc-floating-label {\n transform-origin: left top !important;\n left: 16px !important;\n right: initial !important;\n }\n`;\n\ninterface FileDetailsInnerProps {\n file: FileItem;\n onClose: () => void;\n}\n\nconst prepareFileData = (data: Record<string, any>, fields: CmsModelField[]) => {\n const output = omit(data, [\"createdBy\", \"createdOn\", \"src\"]);\n if (fields.length === 0) {\n return output;\n }\n\n return {\n ...output,\n extensions: prepareFormData(output.extensions || {}, fields)\n };\n};\n\nconst FileDetailsInner: React.FC<FileDetailsInnerProps> = ({ file }) => {\n const [isLoading, setLoading] = useState(false);\n const { showSnackbar } = useSnackbar();\n const fileModel = useFileModel();\n const { updateFile } = useFileManagerView();\n const { close } = useFileDetails();\n const { fileDetails } = useFileManagerViewConfig();\n\n const [, leftPanel = \"1\", rightPanel = \"1\"] = fileDetails.width.split(\",\");\n\n const extensionFields = useMemo(() => {\n const fields = fileModel.fields.find(field => field.fieldId === \"extensions\");\n if (!fields?.settings?.fields) {\n return [];\n }\n return fields?.settings?.fields || [];\n }, [fileModel]);\n\n const onSubmit: FormOnSubmit<FileItem> = async ({ id, ...data }) => {\n setLoading(true);\n const fileData = prepareFileData(data, extensionFields);\n await updateFile(id, fileData);\n setLoading(false);\n showSnackbar(\"File updated successfully!\");\n close();\n };\n\n const basicFieldsElement = (\n <Grid>\n {fileDetails.fields.map(field => (\n <Cell span={12} key={field.name}>\n {field.element}\n </Cell>\n ))}\n </Grid>\n );\n\n const extensionFieldsElement =\n extensionFields.length > 0 ? <Extensions model={fileModel} /> : null;\n\n return (\n <Form data={file} onSubmit={onSubmit}>\n {() => (\n <DrawerContent dir=\"ltr\">\n {isLoading ? <CircularProgress label={\"Saving file...\"} /> : null}\n <FormContainer>\n <Header />\n <Content>\n <Content.Panel flex={parseFloat(leftPanel)}>\n <Elevation z={2} style={{ margin: 20 }}>\n <Actions />\n <Preview />\n <PreviewMeta />\n </Elevation>\n </Content.Panel>\n <Content.Panel flex={parseFloat(rightPanel)}>\n {fileDetails.groupFields ? (\n <Tabs>\n <Tab label={\"Basic Details\"}>{basicFieldsElement}</Tab>\n <Tab label={\"Advanced Details\"}>\n {extensionFieldsElement}\n </Tab>\n </Tabs>\n ) : (\n <>\n {basicFieldsElement}\n {extensionFieldsElement}\n </>\n )}\n </Content.Panel>\n </Content>\n <Footer />\n </FormContainer>\n </DrawerContent>\n )}\n </Form>\n );\n};\n\nexport interface FileDetailsProps {\n file?: FileItem;\n open: boolean;\n loading: boolean;\n onClose: () => void;\n}\n\nexport const FileDetails: React.FC<FileDetailsProps> = ({ open, onClose, loading, file }) => {\n useHotkeys({\n zIndex: 55,\n disabled: !open,\n keys: {\n esc: onClose\n }\n });\n\n const { fileDetails } = useFileManagerViewConfig();\n\n const drawerWidth = fileDetails.width.split(\",\")[0];\n\n return (\n <FileDetailsDrawer\n width={drawerWidth}\n dir=\"rtl\"\n modal\n open={open}\n onClose={onClose}\n data-testid={\"fm.file-details.drawer\"}\n >\n <DrawerContent dir=\"ltr\">\n {loading && <CircularProgress label={\"Loading file details...\"} />}\n {file && (\n <FileProvider file={file}>\n <FileDetailsProvider hideFileDetails={onClose}>\n <FileDetailsInner file={file} onClose={onClose} />\n </FileDetailsProvider>\n </FileProvider>\n )}\n </DrawerContent>\n </FileDetailsDrawer>\n );\n};\n"],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@ interface ContentProps {
|
|
|
4
4
|
}
|
|
5
5
|
export declare const Content: {
|
|
6
6
|
({ children }: ContentProps): JSX.Element;
|
|
7
|
-
Panel: ({ children }: PanelProps) => JSX.Element;
|
|
7
|
+
Panel: ({ flex, children }: PanelProps) => JSX.Element;
|
|
8
8
|
};
|
|
9
9
|
interface PanelProps {
|
|
10
|
+
flex?: number;
|
|
10
11
|
children: React.ReactNode;
|
|
11
12
|
}
|
|
12
13
|
export {};
|
|
@@ -14,16 +14,21 @@ var Horizontal = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
14
14
|
var Grow = /*#__PURE__*/(0, _styled.default)("div", {
|
|
15
15
|
label: "Grow",
|
|
16
16
|
target: "echkhvn1"
|
|
17
|
-
})("flex:
|
|
18
|
-
var
|
|
19
|
-
|
|
17
|
+
})("flex:", function (_ref) {
|
|
18
|
+
var flex = _ref.flex;
|
|
19
|
+
return flex;
|
|
20
|
+
}, ";:last-of-type{border-left:1px solid var(--mdc-theme-on-background);}");
|
|
21
|
+
var Content = function Content(_ref2) {
|
|
22
|
+
var children = _ref2.children;
|
|
20
23
|
return /*#__PURE__*/_react.default.createElement(Horizontal, null, children);
|
|
21
24
|
};
|
|
22
25
|
exports.Content = Content;
|
|
23
|
-
var Panel = function Panel(
|
|
24
|
-
var
|
|
26
|
+
var Panel = function Panel(_ref3) {
|
|
27
|
+
var flex = _ref3.flex,
|
|
28
|
+
children = _ref3.children;
|
|
25
29
|
return /*#__PURE__*/_react.default.createElement(Grow, {
|
|
26
|
-
"data-role": "panel"
|
|
30
|
+
"data-role": "panel",
|
|
31
|
+
flex: flex !== null && flex !== void 0 ? flex : 1
|
|
27
32
|
}, children);
|
|
28
33
|
};
|
|
29
34
|
Content.Panel = Panel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styled","_interopRequireDefault","require","_react","Horizontal","styled","label","target","Grow","Content","
|
|
1
|
+
{"version":3,"names":["_styled","_interopRequireDefault","require","_react","Horizontal","styled","label","target","Grow","_ref","flex","Content","_ref2","children","default","createElement","exports","Panel","_ref3"],"sources":["Content.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport React from \"react\";\n\nconst Horizontal = styled.div`\n display: flex;\n height: calc(100vh - 160px);\n`;\n\nconst Grow = styled.div<{ flex: number }>`\n flex: ${({ flex }) => flex};\n :last-of-type {\n border-left: 1px solid var(--mdc-theme-on-background);\n }\n`;\n\ninterface ContentProps {\n children: React.ReactNode;\n}\n\nexport const Content = ({ children }: ContentProps) => {\n return <Horizontal>{children}</Horizontal>;\n};\n\ninterface PanelProps {\n flex?: number;\n children: React.ReactNode;\n}\n\nconst Panel = ({ flex, children }: PanelProps) => {\n return (\n <Grow data-role={\"panel\"} flex={flex ?? 1}>\n {children}\n </Grow>\n );\n};\n\nContent.Panel = Panel;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,UAAU,oBAAGC,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,8CAGxB;AAED,IAAMC,IAAI,oBAAGH,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,YACP,UAAAE,IAAA;EAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI;AAAA,2EAI7B;AAMM,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA,EAAmC;EAAA,IAA7BC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;EAC9B,oBAAOV,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACX,UAAU,QAAES,QAAqB,CAAC;AAC9C,CAAC;AAACG,OAAA,CAAAL,OAAA,GAAAA,OAAA;AAOF,IAAMM,KAAK,GAAG,SAARA,KAAKA,CAAAC,KAAA,EAAuC;EAAA,IAAjCR,IAAI,GAAAQ,KAAA,CAAJR,IAAI;IAAEG,QAAQ,GAAAK,KAAA,CAARL,QAAQ;EAC3B,oBACIV,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACP,IAAI;IAAC,aAAW,OAAQ;IAACE,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI;EAAE,GACrCG,QACC,CAAC;AAEf,CAAC;AAEDF,OAAO,CAACM,KAAK,GAAGA,KAAK"}
|
|
@@ -26,6 +26,7 @@ export declare const FileManagerViewConfig: (({ children }: {
|
|
|
26
26
|
};
|
|
27
27
|
FileDetails: {
|
|
28
28
|
Width: import("react").FC<import("./configComponents/FileDetails/Width").WidthProps>;
|
|
29
|
+
GroupFields: import("react").FC<import("./configComponents/FileDetails/GroupFields").GroupFieldsProps>;
|
|
29
30
|
Field: import("@webiny/react-composition").ComposableFC<import("./configComponents/FileDetails/Field").FieldProps> & {
|
|
30
31
|
createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("./configComponents/FileDetails/Field").FieldProps>) => (props: {
|
|
31
32
|
name: string;
|
|
@@ -47,6 +48,7 @@ export declare function useFileManagerViewConfig(): {
|
|
|
47
48
|
filtersToWhere: import("./configComponents/Browser/FiltersToWhere").FiltersToWhereConverter[];
|
|
48
49
|
};
|
|
49
50
|
fileDetails: {
|
|
51
|
+
groupFields: boolean;
|
|
50
52
|
width: string;
|
|
51
53
|
fields: import("./configComponents/FileDetails/Field").FieldConfig[];
|
|
52
54
|
};
|
|
@@ -24,7 +24,7 @@ function useFileManagerViewConfig() {
|
|
|
24
24
|
var config = base.useConfig();
|
|
25
25
|
var browser = config.browser || {};
|
|
26
26
|
return (0, _react.useMemo)(function () {
|
|
27
|
-
var _browser$filterByTags, _config$fileDetails$
|
|
27
|
+
var _browser$filterByTags, _config$fileDetails$g, _config$fileDetails, _config$fileDetails$w, _config$fileDetails2, _config$fileDetails$f, _config$fileDetails3;
|
|
28
28
|
return {
|
|
29
29
|
browser: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, browser), {}, {
|
|
30
30
|
bulkActions: (0, _toConsumableArray2.default)(browser.bulkActions || []),
|
|
@@ -33,8 +33,9 @@ function useFileManagerViewConfig() {
|
|
|
33
33
|
filtersToWhere: (0, _toConsumableArray2.default)(browser.filtersToWhere || [])
|
|
34
34
|
}),
|
|
35
35
|
fileDetails: {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
groupFields: (_config$fileDetails$g = (_config$fileDetails = config.fileDetails) === null || _config$fileDetails === void 0 ? void 0 : _config$fileDetails.groupFields) !== null && _config$fileDetails$g !== void 0 ? _config$fileDetails$g : false,
|
|
37
|
+
width: (_config$fileDetails$w = (_config$fileDetails2 = config.fileDetails) === null || _config$fileDetails2 === void 0 ? void 0 : _config$fileDetails2.width) !== null && _config$fileDetails$w !== void 0 ? _config$fileDetails$w : "1000px",
|
|
38
|
+
fields: (_config$fileDetails$f = (_config$fileDetails3 = config.fileDetails) === null || _config$fileDetails3 === void 0 ? void 0 : _config$fileDetails3.fields) !== null && _config$fileDetails$f !== void 0 ? _config$fileDetails$f : []
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
}, [config]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactProperties","_Browser","_FileDetails","base","createConfigurableComponent","FileManagerViewConfig","Object","assign","Config","Browser","FileDetails","exports","FileManagerViewWithConfig","WithConfig","useFileManagerViewConfig","config","useConfig","browser","useMemo","_browser$filterByTags","_config$fileDetails$
|
|
1
|
+
{"version":3,"names":["_react","require","_reactProperties","_Browser","_FileDetails","base","createConfigurableComponent","FileManagerViewConfig","Object","assign","Config","Browser","FileDetails","exports","FileManagerViewWithConfig","WithConfig","useFileManagerViewConfig","config","useConfig","browser","useMemo","_browser$filterByTags","_config$fileDetails$g","_config$fileDetails","_config$fileDetails$w","_config$fileDetails2","_config$fileDetails$f","_config$fileDetails3","_objectSpread2","default","bulkActions","_toConsumableArray2","filterByTags","filters","filtersToWhere","fileDetails","groupFields","width","fields"],"sources":["FileManagerViewConfig.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Browser, BrowserConfig } from \"./configComponents/Browser\";\nimport { FileDetails, FileDetailsConfig } from \"./configComponents/FileDetails\";\n\nconst base = createConfigurableComponent<FileManagerViewConfigData>(\"FileManagerView\");\n\nexport const FileManagerViewConfig = Object.assign(base.Config, { Browser, FileDetails });\nexport const FileManagerViewWithConfig = base.WithConfig;\n\ninterface FileManagerViewConfigData {\n browser: BrowserConfig;\n fileDetails: FileDetailsConfig;\n}\n\nexport function useFileManagerViewConfig() {\n const config = base.useConfig();\n\n const browser = config.browser || {};\n\n return useMemo(\n () => ({\n browser: {\n ...browser,\n bulkActions: [...(browser.bulkActions || [])],\n filterByTags: browser.filterByTags ?? false,\n filters: [...(browser.filters || [])],\n filtersToWhere: [...(browser.filtersToWhere || [])]\n },\n fileDetails: {\n groupFields: config.fileDetails?.groupFields ?? false,\n width: config.fileDetails?.width ?? \"1000px\",\n fields: config.fileDetails?.fields ?? []\n }\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAMI,IAAI,GAAG,IAAAC,4CAA2B,EAA4B,iBAAiB,CAAC;AAE/E,IAAMC,qBAAqB,GAAGC,MAAM,CAACC,MAAM,CAACJ,IAAI,CAACK,MAAM,EAAE;EAAEC,OAAO,EAAPA,gBAAO;EAAEC,WAAW,EAAXA;AAAY,CAAC,CAAC;AAACC,OAAA,CAAAN,qBAAA,GAAAA,qBAAA;AACnF,IAAMO,yBAAyB,GAAGT,IAAI,CAACU,UAAU;AAACF,OAAA,CAAAC,yBAAA,GAAAA,yBAAA;AAOlD,SAASE,wBAAwBA,CAAA,EAAG;EACvC,IAAMC,MAAM,GAAGZ,IAAI,CAACa,SAAS,CAAC,CAAC;EAE/B,IAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAI,CAAC,CAAC;EAEpC,OAAO,IAAAC,cAAO,EACV;IAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA;IAAA,OAAO;MACHR,OAAO,MAAAS,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACAV,OAAO;QACVW,WAAW,MAAAC,mBAAA,CAAAF,OAAA,EAAOV,OAAO,CAACW,WAAW,IAAI,EAAE,CAAE;QAC7CE,YAAY,GAAAX,qBAAA,GAAEF,OAAO,CAACa,YAAY,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QAC3CY,OAAO,MAAAF,mBAAA,CAAAF,OAAA,EAAOV,OAAO,CAACc,OAAO,IAAI,EAAE,CAAE;QACrCC,cAAc,MAAAH,mBAAA,CAAAF,OAAA,EAAOV,OAAO,CAACe,cAAc,IAAI,EAAE;MAAE,EACtD;MACDC,WAAW,EAAE;QACTC,WAAW,GAAAd,qBAAA,IAAAC,mBAAA,GAAEN,MAAM,CAACkB,WAAW,cAAAZ,mBAAA,uBAAlBA,mBAAA,CAAoBa,WAAW,cAAAd,qBAAA,cAAAA,qBAAA,GAAI,KAAK;QACrDe,KAAK,GAAAb,qBAAA,IAAAC,oBAAA,GAAER,MAAM,CAACkB,WAAW,cAAAV,oBAAA,uBAAlBA,oBAAA,CAAoBY,KAAK,cAAAb,qBAAA,cAAAA,qBAAA,GAAI,QAAQ;QAC5Cc,MAAM,GAAAZ,qBAAA,IAAAC,oBAAA,GAAEV,MAAM,CAACkB,WAAW,cAAAR,oBAAA,uBAAlBA,oBAAA,CAAoBW,MAAM,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI;MAC1C;IACJ,CAAC;EAAA,CAAC,EACF,CAACT,MAAM,CACX,CAAC;AACL"}
|
package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GroupFields = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactProperties = require("@webiny/react-properties");
|
|
10
|
+
var GroupFields = function GroupFields(_ref) {
|
|
11
|
+
var value = _ref.value;
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
13
|
+
id: "fileDetails",
|
|
14
|
+
name: "fileDetails"
|
|
15
|
+
}, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
16
|
+
id: "drawer:groupFields",
|
|
17
|
+
name: "groupFields",
|
|
18
|
+
value: value
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
21
|
+
exports.GroupFields = GroupFields;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=GroupFields.js.map
|
package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactProperties","GroupFields","_ref","value","default","createElement","Property","id","name","exports"],"sources":["GroupFields.tsx"],"sourcesContent":["import React from \"react\";\nimport { Property } from \"@webiny/react-properties\";\n\nexport interface GroupFieldsProps {\n value: boolean;\n}\n\nexport const GroupFields: React.FC<GroupFieldsProps> = ({ value }) => {\n return (\n <Property id=\"fileDetails\" name={\"fileDetails\"}>\n <Property id={`drawer:groupFields`} name={\"groupFields\"} value={value} />\n </Property>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAMO,IAAME,WAAuC,GAAG,SAA1CA,WAAuCA,CAAAC,IAAA,EAAkB;EAAA,IAAZC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAC3D,oBACIN,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,gBAAA,CAAAM,QAAQ;IAACC,EAAE,EAAC,aAAa;IAACC,IAAI,EAAE;EAAc,gBAC3CX,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,gBAAA,CAAAM,QAAQ;IAACC,EAAE,sBAAuB;IAACC,IAAI,EAAE,aAAc;IAACL,KAAK,EAAEA;EAAM,CAAE,CAClE,CAAC;AAEnB,CAAC;AAACM,OAAA,CAAAR,WAAA,GAAAA,WAAA"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { FieldConfig } from "./Field";
|
|
3
3
|
export interface FileDetailsConfig {
|
|
4
4
|
width: string;
|
|
5
|
+
groupFields: boolean;
|
|
5
6
|
fields: FieldConfig[];
|
|
6
7
|
}
|
|
7
8
|
export declare const FileDetails: {
|
|
8
9
|
Width: import("react").FC<import("./Width").WidthProps>;
|
|
10
|
+
GroupFields: import("react").FC<import("./GroupFields").GroupFieldsProps>;
|
|
9
11
|
Field: import("@webiny/react-composition").ComposableFC<import("./Field").FieldProps> & {
|
|
10
12
|
createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("./Field").FieldProps>) => (props: {
|
|
11
13
|
name: string;
|
|
@@ -7,8 +7,10 @@ exports.FileDetails = void 0;
|
|
|
7
7
|
var _Field = require("./Field");
|
|
8
8
|
var _FieldDecorator = require("./FieldDecorator");
|
|
9
9
|
var _Width = require("./Width");
|
|
10
|
+
var _GroupFields = require("./GroupFields");
|
|
10
11
|
var FileDetails = {
|
|
11
12
|
Width: _Width.Width,
|
|
13
|
+
GroupFields: _GroupFields.GroupFields,
|
|
12
14
|
Field: _Field.Field,
|
|
13
15
|
ExtensionField: {
|
|
14
16
|
createDecorator: (0, _FieldDecorator.createScopedFieldDecorator)("fm.fileDetails.extensionFields")
|
package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Field","require","_FieldDecorator","_Width","FileDetails","Width","Field","ExtensionField","createDecorator","createScopedFieldDecorator","exports"],"sources":["index.ts"],"sourcesContent":["import { Field, FieldConfig } from \"./Field\";\nimport { createScopedFieldDecorator } from \"./FieldDecorator\";\nimport { Width } from \"./Width\";\n\nexport interface FileDetailsConfig {\n width: string;\n fields: FieldConfig[];\n}\n\nexport const FileDetails = {\n Width,\n Field,\n ExtensionField: {\n createDecorator: createScopedFieldDecorator(\"fm.fileDetails.extensionFields\")\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_Field","require","_FieldDecorator","_Width","_GroupFields","FileDetails","Width","GroupFields","Field","ExtensionField","createDecorator","createScopedFieldDecorator","exports"],"sources":["index.ts"],"sourcesContent":["import { Field, FieldConfig } from \"./Field\";\nimport { createScopedFieldDecorator } from \"./FieldDecorator\";\nimport { Width } from \"./Width\";\nimport { GroupFields } from \"./GroupFields\";\n\nexport interface FileDetailsConfig {\n width: string;\n groupFields: boolean;\n fields: FieldConfig[];\n}\n\nexport const FileDetails = {\n Width,\n GroupFields,\n Field,\n ExtensionField: {\n createDecorator: createScopedFieldDecorator(\"fm.fileDetails.extensionFields\")\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAQO,IAAMI,WAAW,GAAG;EACvBC,KAAK,EAALA,YAAK;EACLC,WAAW,EAAXA,wBAAW;EACXC,KAAK,EAALA,YAAK;EACLC,cAAc,EAAE;IACZC,eAAe,EAAE,IAAAC,0CAA0B,EAAC,gCAAgC;EAChF;AACJ,CAAC;AAACC,OAAA,CAAAP,WAAA,GAAAA,WAAA"}
|
|
@@ -37,6 +37,10 @@ var FileManagerRendererModule = function FileManagerRendererModule() {
|
|
|
37
37
|
}), /*#__PURE__*/_react.default.createElement(FileDetails.Field, {
|
|
38
38
|
name: "aliases",
|
|
39
39
|
element: /*#__PURE__*/_react.default.createElement(_Aliases.Aliases, null)
|
|
40
|
+
}), /*#__PURE__*/_react.default.createElement(FileDetails.GroupFields, {
|
|
41
|
+
value: false
|
|
42
|
+
}), /*#__PURE__*/_react.default.createElement(FileDetails.Width, {
|
|
43
|
+
value: "1000px"
|
|
40
44
|
})));
|
|
41
45
|
};
|
|
42
46
|
exports.FileManagerRendererModule = FileManagerRendererModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_","_FileManagerView","_FilterByType","_BulkActions","_Name","_Tags","_Aliases","Browser","FileManagerConfig","FileDetails","FileManagerRendererModule","default","createElement","Fragment","FileManagerRenderer","FileManagerViewConfig","FilterByTags","Filter","name","element","FilterByType","BulkAction","ActionEdit","ActionMove","ActionDelete","Field","Name","Tags","Aliases","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { FileManagerViewConfig as FileManagerConfig } from \"~/index\";\nimport { FileManagerRenderer } from \"./FileManagerView\";\nimport { FilterByType } from \"./filters/FilterByType\";\nimport { ActionDelete, ActionEdit, ActionMove } from \"~/components/BulkActions\";\nimport { Name } from \"~/components/FileDetails/components/Name\";\nimport { Tags } from \"~/components/FileDetails/components/Tags\";\nimport { Aliases } from \"~/components/FileDetails/components/Aliases\";\n\nconst { Browser, FileDetails } = FileManagerConfig;\n\nexport const FileManagerRendererModule = () => {\n return (\n <>\n <FileManagerRenderer />\n <FileManagerConfig>\n <Browser.FilterByTags />\n <Browser.Filter name={\"type\"} element={<FilterByType />} />\n <Browser.BulkAction name={\"edit\"} element={<ActionEdit />} />\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n <FileDetails.Field name={\"name\"} element={<Name />} />\n <FileDetails.Field name={\"tags\"} element={<Tags />} />\n <FileDetails.Field name={\"aliases\"} element={<Aliases />} />\n </FileManagerConfig>\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAEA,IAAQQ,OAAO,GAAkBC,uBAAiB,CAA1CD,OAAO;EAAEE,WAAW,GAAKD,uBAAiB,CAAjCC,WAAW;AAErB,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;EAC3C,oBACIb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAAAf,MAAA,CAAAc,OAAA,CAAAE,QAAA,qBACIhB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,gBAAA,CAAAa,mBAAmB,MAAE,CAAC,eACvBjB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACZ,CAAA,CAAAe,qBAAiB,qBACdlB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,OAAO,CAACS,YAAY,MAAE,CAAC,eACxBnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,OAAO,CAACU,MAAM;IAACC,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,aAAA,CAAAkB,YAAY,MAAE;EAAE,CAAE,CAAC,eAC3DvB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,OAAO,CAACc,UAAU;IAACH,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,YAAA,CAAAmB,UAAU,MAAE;EAAE,CAAE,CAAC,eAC7DzB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,OAAO,CAACc,UAAU;IAACH,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,YAAA,CAAAoB,UAAU,MAAE;EAAE,CAAE,CAAC,eAC7D1B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACL,OAAO,CAACc,UAAU;IAACH,IAAI,EAAE,QAAS;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,YAAA,CAAAqB,YAAY,MAAE;EAAE,CAAE,CAAC,eACjE3B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACH,WAAW,CAACgB,KAAK;IAACP,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAsB,IAAI,MAAE;EAAE,CAAE,CAAC,eACtD7B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACH,WAAW,CAACgB,KAAK;IAACP,IAAI,EAAE,MAAO;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACP,KAAA,CAAAsB,IAAI,MAAE;EAAE,CAAE,CAAC,eACtD9B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACH,WAAW,CAACgB,KAAK;IAACP,IAAI,EAAE,SAAU;IAACC,OAAO,eAAEtB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACN,QAAA,CAAAsB,OAAO,MAAE;EAAE,CAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_","_FileManagerView","_FilterByType","_BulkActions","_Name","_Tags","_Aliases","Browser","FileManagerConfig","FileDetails","FileManagerRendererModule","default","createElement","Fragment","FileManagerRenderer","FileManagerViewConfig","FilterByTags","Filter","name","element","FilterByType","BulkAction","ActionEdit","ActionMove","ActionDelete","Field","Name","Tags","Aliases","GroupFields","value","Width","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { FileManagerViewConfig as FileManagerConfig } from \"~/index\";\nimport { FileManagerRenderer } from \"./FileManagerView\";\nimport { FilterByType } from \"./filters/FilterByType\";\nimport { ActionDelete, ActionEdit, ActionMove } from \"~/components/BulkActions\";\nimport { Name } from \"~/components/FileDetails/components/Name\";\nimport { Tags } from \"~/components/FileDetails/components/Tags\";\nimport { Aliases } from \"~/components/FileDetails/components/Aliases\";\n\nconst { Browser, FileDetails } = FileManagerConfig;\n\nexport const FileManagerRendererModule = () => {\n return (\n <>\n <FileManagerRenderer />\n <FileManagerConfig>\n <Browser.FilterByTags />\n <Browser.Filter name={\"type\"} element={<FilterByType />} />\n <Browser.BulkAction name={\"edit\"} element={<ActionEdit />} />\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n <FileDetails.Field name={\"name\"} element={<Name />} />\n <FileDetails.Field name={\"tags\"} element={<Tags />} />\n <FileDetails.Field name={\"aliases\"} element={<Aliases />} />\n <FileDetails.GroupFields value={false} />\n <FileDetails.Width value={\"1000px\"} />\n </FileManagerConfig>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -113,6 +113,7 @@ var EditAction = function EditAction(props) {
|
|
|
113
113
|
onAccept: function onAccept(src) {
|
|
114
114
|
var blob = (0, _dataurlToBlob.default)(src);
|
|
115
115
|
blob.name = file.name;
|
|
116
|
+
blob.key = file.key.split("/").pop();
|
|
116
117
|
uploadFile(blob);
|
|
117
118
|
dispatch({
|
|
118
119
|
type: "hideImageEditor"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactHotkeyz","_dataurlToBlob","_ImageUpload","_Tooltip","_Button","_edit","_","toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","_objectSpread2","default","type","EditAction","props","file","_useFileManagerApi","useFileManagerApi","canEdit","_useFileManagerView","useFileManagerView","uploadFile","_React$useReducer","React","useReducer","_React$useReducer2","_slicedToArray2","dispatch","createElement","Fragment","Tooltip","content","placement","IconButton","icon","ReactComponent","style","margin","onClick","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","wrap","_callee$","_context","prev","src","sent","stop","Hotkeys","zIndex","disabled","ImageEditorDialog","dialogZIndex","onClose","onAccept","blob","dataURLtoBlob","name","exports"],"sources":["EditAction.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi, useFileManagerView } from \"~/index\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\n\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n}\n\nexport const EditAction: React.FC<EditActionProps> = props => {\n const { file } = props;\n const { canEdit } = useFileManagerApi();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n blob.name = file.name;\n uploadFile(blob);\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactHotkeyz","_dataurlToBlob","_ImageUpload","_Tooltip","_Button","_edit","_","toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","_objectSpread2","default","type","EditAction","props","file","_useFileManagerApi","useFileManagerApi","canEdit","_useFileManagerView","useFileManagerView","uploadFile","_React$useReducer","React","useReducer","_React$useReducer2","_slicedToArray2","dispatch","createElement","Fragment","Tooltip","content","placement","IconButton","icon","ReactComponent","style","margin","onClick","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","wrap","_callee$","_context","prev","src","sent","stop","Hotkeys","zIndex","disabled","ImageEditorDialog","dialogZIndex","onClose","onAccept","blob","dataURLtoBlob","name","key","split","pop","exports"],"sources":["EditAction.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi, useFileManagerView } from \"~/index\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\n\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n}\n\nexport const EditAction: React.FC<EditActionProps> = props => {\n const { file } = props;\n const { canEdit } = useFileManagerApi();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n blob.name = file.name;\n blob.key = file.key.split(\"/\").pop();\n uploadFile(blob);\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-file-manager",
|
|
3
|
-
"version": "5.38.
|
|
3
|
+
"version": "5.38.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
"@emotion/styled": "11.10.6",
|
|
18
18
|
"@material-design-icons/svg": "0.14.3",
|
|
19
19
|
"@types/react": "17.0.39",
|
|
20
|
-
"@webiny/app": "5.38.
|
|
21
|
-
"@webiny/app-aco": "5.38.
|
|
22
|
-
"@webiny/app-admin": "5.38.
|
|
23
|
-
"@webiny/app-headless-cms": "5.38.
|
|
24
|
-
"@webiny/app-headless-cms-common": "5.38.
|
|
25
|
-
"@webiny/app-security": "5.38.
|
|
26
|
-
"@webiny/error": "5.38.
|
|
27
|
-
"@webiny/form": "5.38.
|
|
28
|
-
"@webiny/plugins": "5.38.
|
|
29
|
-
"@webiny/react-properties": "5.38.
|
|
30
|
-
"@webiny/ui": "5.38.
|
|
31
|
-
"@webiny/utils": "5.38.
|
|
32
|
-
"@webiny/validation": "5.38.
|
|
20
|
+
"@webiny/app": "5.38.2",
|
|
21
|
+
"@webiny/app-aco": "5.38.2",
|
|
22
|
+
"@webiny/app-admin": "5.38.2",
|
|
23
|
+
"@webiny/app-headless-cms": "5.38.2",
|
|
24
|
+
"@webiny/app-headless-cms-common": "5.38.2",
|
|
25
|
+
"@webiny/app-security": "5.38.2",
|
|
26
|
+
"@webiny/error": "5.38.2",
|
|
27
|
+
"@webiny/form": "5.38.2",
|
|
28
|
+
"@webiny/plugins": "5.38.2",
|
|
29
|
+
"@webiny/react-properties": "5.38.2",
|
|
30
|
+
"@webiny/ui": "5.38.2",
|
|
31
|
+
"@webiny/utils": "5.38.2",
|
|
32
|
+
"@webiny/validation": "5.38.2",
|
|
33
33
|
"apollo-cache": "1.3.5",
|
|
34
34
|
"apollo-client": "2.6.10",
|
|
35
35
|
"apollo-link": "1.2.14",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"@babel/preset-react": "7.22.5",
|
|
63
63
|
"@babel/preset-typescript": "7.22.5",
|
|
64
64
|
"@svgr/webpack": "6.5.1",
|
|
65
|
-
"@webiny/cli": "5.38.
|
|
66
|
-
"@webiny/project-utils": "5.38.
|
|
65
|
+
"@webiny/cli": "5.38.2",
|
|
66
|
+
"@webiny/project-utils": "5.38.2",
|
|
67
67
|
"rimraf": "3.0.2",
|
|
68
68
|
"ttypescript": "1.5.15",
|
|
69
69
|
"typescript": "4.7.4"
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"build": "yarn webiny run build",
|
|
77
77
|
"watch": "yarn webiny run watch"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "443e107cc474882f558e0783a2d9068b7692bd00"
|
|
80
80
|
}
|