@webiny/app-file-manager 5.38.0-beta.0 → 5.38.0-beta.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/components/DropFilesHere/DropFilesHere.js +2 -6
- package/components/DropFilesHere/DropFilesHere.js.map +1 -1
- package/components/DropFilesHere/styled.js +6 -3
- package/components/DropFilesHere/styled.js.map +1 -1
- package/components/Empty/Empty.js.map +1 -1
- package/components/FileDetails/FileDetails.js +1 -1
- package/components/FileDetails/FileDetails.js.map +1 -1
- package/components/Grid/Grid.d.ts +1 -0
- package/components/Grid/Grid.js +8 -2
- package/components/Grid/Grid.js.map +1 -1
- package/components/Table/Table.d.ts +1 -0
- package/components/Table/Table.js +4 -12
- package/components/Table/Table.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +20 -8
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +18 -19
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.d.ts +30 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js +115 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +4 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +1 -2
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +2 -8
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
- package/package.json +17 -17
|
@@ -13,15 +13,11 @@ var _styled = require("./styled");
|
|
|
13
13
|
var _templateObject;
|
|
14
14
|
var t = _i18n.i18n.ns("app-admin/file-manager/components/drop-files-here");
|
|
15
15
|
var DropFilesHere = function DropFilesHere(_ref) {
|
|
16
|
-
var
|
|
17
|
-
onDragLeave = _ref.onDragLeave,
|
|
18
|
-
empty = _ref.empty,
|
|
16
|
+
var empty = _ref.empty,
|
|
19
17
|
onClick = _ref.onClick;
|
|
20
18
|
return /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereWrapper, {
|
|
21
19
|
empty: empty,
|
|
22
|
-
|
|
23
|
-
onClick: onClick,
|
|
24
|
-
onDragLeave: onDragLeave
|
|
20
|
+
onClick: onClick
|
|
25
21
|
}, /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereInner, {
|
|
26
22
|
empty: empty
|
|
27
23
|
}, /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereIconWrapper, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_i18n","_Icon","_styled","_templateObject","t","i18n","ns","DropFilesHere","_ref","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_i18n","_Icon","_styled","_templateObject","t","i18n","ns","DropFilesHere","_ref","empty","onClick","default","createElement","DropFilesHereWrapper","DropFilesHereInner","DropFilesHereIconWrapper","Icon","icon","DropFilesHereIcon","_taggedTemplateLiteral2","exports"],"sources":["DropFilesHere.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Icon } from \"@webiny/ui/Icon\";\n\nimport {\n DropFilesHereWrapper,\n DropFilesHereInner,\n DropFilesHereIcon,\n DropFilesHereIconWrapper\n} from \"./styled\";\n\nconst t = i18n.ns(\"app-admin/file-manager/components/drop-files-here\");\n\nexport interface DropFilesHereProps {\n onDragLeave?: (event?: React.DragEvent<HTMLElement>) => void;\n onDrop?: (event?: React.DragEvent<HTMLElement>) => void;\n empty?: boolean;\n onClick?: (event?: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport const DropFilesHere: React.FC<DropFilesHereProps> = ({ empty, onClick }) => {\n return (\n <DropFilesHereWrapper empty={empty} onClick={onClick}>\n <DropFilesHereInner empty={empty}>\n <DropFilesHereIconWrapper>\n <Icon icon={<DropFilesHereIcon />} />\n <div>{t`Drop files here`}</div>\n </DropFilesHereIconWrapper>\n </DropFilesHereInner>\n </DropFilesHereWrapper>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAKkB,IAAAI,eAAA;AAElB,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mDAAmD,CAAC;AAS/D,IAAMC,aAA2C,GAAG,SAA9CA,aAA2CA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EACxE,oBACIb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAW,oBAAoB;IAACJ,KAAK,EAAEA,KAAM;IAACC,OAAO,EAAEA;EAAQ,gBACjDb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAY,kBAAkB;IAACL,KAAK,EAAEA;EAAM,gBAC7BZ,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAa,wBAAwB,qBACrBlB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,KAAA,CAAAe,IAAI;IAACC,IAAI,eAAEpB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAgB,iBAAiB,MAAE;EAAE,CAAE,CAAC,eACrCrB,MAAA,CAAAc,OAAA,CAAAC,aAAA,cAAMR,CAAC,CAAAD,eAAA,KAAAA,eAAA,OAAAgB,uBAAA,CAAAR,OAAA,wBAAuB,CACR,CACV,CACF,CAAC;AAE/B,CAAC;AAACS,OAAA,CAAAb,aAAA,GAAAA,aAAA"}
|
|
@@ -10,16 +10,19 @@ var _cloud_upload = require("@material-design-icons/svg/filled/cloud_upload.svg"
|
|
|
10
10
|
var DropFilesHereWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
11
11
|
label: "DropFilesHereWrapper",
|
|
12
12
|
target: "e1dajg7m0"
|
|
13
|
-
})("
|
|
13
|
+
})("pointer-events:", function (_ref) {
|
|
14
14
|
var empty = _ref.empty;
|
|
15
|
+
return empty ? "all" : "none";
|
|
16
|
+
}, ";margin:0 auto;padding-top:0;height:calc(100vh - 95px);z-index:100;width:100%;position:absolute;background:", function (_ref2) {
|
|
17
|
+
var empty = _ref2.empty;
|
|
15
18
|
return empty ? "transparent" : "var(--mdc-theme-text-hint-on-light)";
|
|
16
19
|
}, ";");
|
|
17
20
|
exports.DropFilesHereWrapper = DropFilesHereWrapper;
|
|
18
21
|
var DropFilesHereInner = /*#__PURE__*/(0, _styled.default)("div", {
|
|
19
22
|
label: "DropFilesHereInner",
|
|
20
23
|
target: "e1dajg7m1"
|
|
21
|
-
})("text-align:center;width:300px;height:300px;background-color:", function (
|
|
22
|
-
var empty =
|
|
24
|
+
})("text-align:center;width:300px;height:300px;background-color:", function (_ref3) {
|
|
25
|
+
var empty = _ref3.empty;
|
|
23
26
|
return empty ? "var(--mdc-theme-surface)" : "var(--mdc-theme-background)";
|
|
24
27
|
}, ";border-radius:50%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);");
|
|
25
28
|
exports.DropFilesHereInner = DropFilesHereInner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styled","_interopRequireDefault","require","_cloud_upload","DropFilesHereWrapper","styled","label","target","_ref","empty","exports","DropFilesHereInner","
|
|
1
|
+
{"version":3,"names":["_styled","_interopRequireDefault","require","_cloud_upload","DropFilesHereWrapper","styled","label","target","_ref","empty","_ref2","exports","DropFilesHereInner","_ref3","DropFilesHereIconWrapper","DropFilesHereIcon","UploadIcon"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as UploadIcon } from \"@material-design-icons/svg/filled/cloud_upload.svg\";\n\ntype DropFilesHereWrapperProps = {\n empty?: boolean;\n};\n\nexport const DropFilesHereWrapper = styled(\"div\")<DropFilesHereWrapperProps>`\n pointer-events: ${({ empty }) => (empty ? \"all\" : \"none\")};\n margin: 0 auto;\n padding-top: 0;\n height: calc(100vh - 95px);\n z-index: 100;\n width: 100%;\n position: absolute;\n background: ${({ empty }) => (empty ? \"transparent\" : \"var(--mdc-theme-text-hint-on-light)\")};\n`;\n\nexport const DropFilesHereInner = styled(\"div\")<DropFilesHereWrapperProps>`\n text-align: center;\n width: 300px;\n height: 300px;\n background-color: ${({ empty }) =>\n empty ? \"var(--mdc-theme-surface)\" : \"var(--mdc-theme-background)\"};\n border-radius: 50%;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n`;\n\nexport const DropFilesHereIconWrapper = styled(\"div\")`\n position: absolute;\n top: 90px;\n width: 300px;\n display: flex;\n flex-direction: column;\n align-items: center;\n color: var(--mdc-theme-on-surface);\n`;\n\nexport const DropFilesHereIcon = styled(UploadIcon)`\n width: 100px !important;\n height: auto;\n display: inline-block;\n color: var(--mdc-theme-on-surface);\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAMO,IAAME,oBAAoB,oBAAGC,eAAM,EAAC,KAAK;EAAAC,KAAA;EAAAC,MAAA;AAAA,sBAC1B,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQA,KAAK,GAAG,KAAK,GAAG,MAAM;AAAA,CAAC,iHAO3C,UAAAC,KAAA;EAAA,IAAGD,KAAK,GAAAC,KAAA,CAALD,KAAK;EAAA,OAAQA,KAAK,GAAG,aAAa,GAAG,qCAAqC;AAAA,CAAC,MAC/F;AAACE,OAAA,CAAAP,oBAAA,GAAAA,oBAAA;AAEK,IAAMQ,kBAAkB,oBAAGP,eAAM,EAAC,KAAK;EAAAC,KAAA;EAAAC,MAAA;AAAA,mEAItB,UAAAM,KAAA;EAAA,IAAGJ,KAAK,GAAAI,KAAA,CAALJ,KAAK;EAAA,OACxBA,KAAK,GAAG,0BAA0B,GAAG,6BAA6B;AAAA,wGAMzE;AAACE,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAEK,IAAME,wBAAwB,oBAAGT,eAAM,EAAC,KAAK;EAAAC,KAAA;EAAAC,MAAA;AAAA,qIAQnD;AAACI,OAAA,CAAAG,wBAAA,GAAAA,wBAAA;AAEK,IAAMC,iBAAiB,oBAAGV,eAAM,EAACW,4BAAU;EAAAV,KAAA;EAAAC,MAAA;AAAA,gGAKjD;AAACI,OAAA,CAAAI,iBAAA,GAAAA,iBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_","_NoPermission","_NoResults","_DropFilesHere","Empty","_ref","browseFiles","isSearchResult","_useFileManagerApi","useFileManagerApi","canRead","default","createElement","NoPermission","NoResults","DropFilesHere","empty","onClick","exports"],"sources":["Empty.tsx"],"sourcesContent":["import React from \"react\";\nimport { FilesRenderChildren } from \"react-butterfiles\";\n\nimport { useFileManagerApi } from \"~/index\";\nimport { NoPermission } from \"~/components/NoPermission\";\nimport { NoResults } from \"~/components/NoResults\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\n\ninterface EmptyViewProps {\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n isSearchResult?: boolean;\n}\n\nexport const Empty: React.VFC<EmptyViewProps> = ({ browseFiles, isSearchResult }) => {\n const { canRead } = useFileManagerApi();\n\n if (!canRead) {\n return <NoPermission />;\n }\n if (isSearchResult) {\n return <NoResults />;\n }\n return <DropFilesHere empty onClick={() => browseFiles()} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAOO,IAAMK,KAAgC,GAAG,SAAnCA,KAAgCA,CAAAC,IAAA,EAAwC;EAAA,IAAlCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAC1E,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EAEf,IAAI,CAACA,OAAO,EAAE;IACV,oBAAOb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,aAAA,CAAAY,YAAY,MAAE,CAAC;EAC3B;EACA,IAAIN,cAAc,EAAE;IAChB,oBAAOV,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAY,SAAS,MAAE,CAAC;EACxB;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_","_NoPermission","_NoResults","_DropFilesHere","Empty","_ref","browseFiles","isSearchResult","_useFileManagerApi","useFileManagerApi","canRead","default","createElement","NoPermission","NoResults","DropFilesHere","empty","onClick","exports"],"sources":["Empty.tsx"],"sourcesContent":["import React from \"react\";\nimport { FilesRenderChildren } from \"react-butterfiles\";\n\nimport { useFileManagerApi } from \"~/index\";\nimport { NoPermission } from \"~/components/NoPermission\";\nimport { NoResults } from \"~/components/NoResults\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\n\ninterface EmptyViewProps {\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n isSearchResult?: boolean;\n}\n\nexport const Empty: React.VFC<EmptyViewProps> = ({ browseFiles, isSearchResult }) => {\n const { canRead } = useFileManagerApi();\n\n if (!canRead) {\n return <NoPermission />;\n }\n if (isSearchResult) {\n return <NoResults />;\n }\n\n return <DropFilesHere empty onClick={() => browseFiles()} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAOO,IAAMK,KAAgC,GAAG,SAAnCA,KAAgCA,CAAAC,IAAA,EAAwC;EAAA,IAAlCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAC1E,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EAEf,IAAI,CAACA,OAAO,EAAE;IACV,oBAAOb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,aAAA,CAAAY,YAAY,MAAE,CAAC;EAC3B;EACA,IAAIN,cAAc,EAAE;IAChB,oBAAOV,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAY,SAAS,MAAE,CAAC;EACxB;EAEA,oBAAOjB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,cAAA,CAAAY,aAAa;IAACC,KAAK;IAACC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMX,WAAW,CAAC,CAAC;IAAA;EAAC,CAAE,CAAC;AAChE,CAAC;AAACY,OAAA,CAAAd,KAAA,GAAAA,KAAA"}
|
|
@@ -40,7 +40,7 @@ var _excluded = ["id"]; // @ts-ignore
|
|
|
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
|
}, ";}");
|
|
46
46
|
var FormContainer = /*#__PURE__*/(0, _styled.default)(_SimpleForm.SimpleForm, {
|
|
@@ -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 &.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","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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"}
|
package/components/Grid/Grid.js
CHANGED
|
@@ -27,6 +27,7 @@ var Grid = function Grid(_ref) {
|
|
|
27
27
|
onChange = _ref.onChange,
|
|
28
28
|
onClose = _ref.onClose,
|
|
29
29
|
toggleSelected = _ref.toggleSelected,
|
|
30
|
+
deselectAll = _ref.deselectAll,
|
|
30
31
|
multiple = _ref.multiple,
|
|
31
32
|
hasOnSelectCallback = _ref.hasOnSelectCallback;
|
|
32
33
|
if (loading) {
|
|
@@ -42,7 +43,10 @@ var Grid = function Grid(_ref) {
|
|
|
42
43
|
return undefined;
|
|
43
44
|
}
|
|
44
45
|
return function (record) {
|
|
45
|
-
return function () {
|
|
46
|
+
return function (event) {
|
|
47
|
+
if (event) {
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
}
|
|
46
50
|
if (!hasOnSelectCallback || multiple) {
|
|
47
51
|
toggleSelected(record);
|
|
48
52
|
return;
|
|
@@ -55,7 +59,9 @@ var Grid = function Grid(_ref) {
|
|
|
55
59
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.FolderList, null, /*#__PURE__*/_react.default.createElement(_appAco.FolderGrid, {
|
|
56
60
|
folders: folders,
|
|
57
61
|
onFolderClick: onFolderClick
|
|
58
|
-
})), /*#__PURE__*/_react.default.createElement(_styled.FileList,
|
|
62
|
+
})), /*#__PURE__*/_react.default.createElement(_styled.FileList, {
|
|
63
|
+
onClick: deselectAll
|
|
64
|
+
}, records.map(function (record) {
|
|
59
65
|
return /*#__PURE__*/_react.default.createElement(_FileProvider.FileProvider, {
|
|
60
66
|
file: record,
|
|
61
67
|
key: record.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAco","_i18n","_Progress","_File","_styled","_Thumbnail","_FileProvider","_templateObject","t","i18n","ns","Grid","_ref","folders","records","loading","onRecordClick","onFolderClick","selected","onChange","onClose","toggleSelected","multiple","hasOnSelectCallback","default","createElement","CircularProgress","label","_taggedTemplateLiteral2","style","opacity","onSelect","useMemo","undefined","record","Fragment","FolderList","FolderGrid","FileList","map","FileProvider","file","key","id","FileThumbnail","Boolean","showFileDetails","some","current","Thumbnail","exports"],"sources":["Grid.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { FolderGrid } from \"@webiny/app-aco\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { FileThumbnail } from \"./File\";\nimport { FileList, FolderList } from \"./styled\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Thumbnail } from \"~/components/FileDetails/components/Thumbnail\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\n\nconst t = i18n.ns(\"app-admin/file-manager/components/grid\");\n\ninterface GridProps {\n records: FileItem[];\n folders: FolderItem[];\n loading?: boolean;\n onRecordClick: (id: string) => void;\n onFolderClick: (id: string) => void;\n selected: FileItem[];\n multiple?: boolean;\n toggleSelected: (file: FileItem) => void;\n onChange?: Function;\n onClose?: Function;\n hasOnSelectCallback: boolean;\n}\n\nexport const Grid: React.FC<GridProps> = ({\n folders,\n records,\n loading,\n onRecordClick,\n onFolderClick,\n selected,\n onChange,\n onClose,\n toggleSelected,\n multiple,\n hasOnSelectCallback\n}) => {\n if (loading) {\n return <CircularProgress label={t`Loading Files...`} style={{ opacity: 1 }} />;\n }\n\n const onSelect = useMemo(() => {\n if (!onChange) {\n return undefined;\n }\n\n return (record: FileItem) => () => {\n if (!hasOnSelectCallback || multiple) {\n toggleSelected(record);\n return;\n }\n\n onChange(record);\n onClose && onClose();\n };\n }, [onChange]);\n\n return (\n <>\n <FolderList>\n <FolderGrid folders={folders} onFolderClick={onFolderClick} />\n </FolderList>\n <FileList>\n {records.map(record => (\n <FileProvider file={record} key={record.id}>\n <FileThumbnail\n file={record}\n multiple={Boolean(multiple)}\n showFileDetails={onRecordClick}\n selected={selected.some(current => current.id === record.id)}\n onSelect={onSelect ? onSelect(record) : undefined}\n >\n <Thumbnail />\n </FileThumbnail>\n </FileProvider>\n ))}\n </FileList>\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAGA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAAuD,IAAAQ,eAAA;AAEvD,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAco","_i18n","_Progress","_File","_styled","_Thumbnail","_FileProvider","_templateObject","t","i18n","ns","Grid","_ref","folders","records","loading","onRecordClick","onFolderClick","selected","onChange","onClose","toggleSelected","deselectAll","multiple","hasOnSelectCallback","default","createElement","CircularProgress","label","_taggedTemplateLiteral2","style","opacity","onSelect","useMemo","undefined","record","event","stopPropagation","Fragment","FolderList","FolderGrid","FileList","onClick","map","FileProvider","file","key","id","FileThumbnail","Boolean","showFileDetails","some","current","Thumbnail","exports"],"sources":["Grid.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { FolderGrid } from \"@webiny/app-aco\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { FileThumbnail } from \"./File\";\nimport { FileList, FolderList } from \"./styled\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Thumbnail } from \"~/components/FileDetails/components/Thumbnail\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\n\nconst t = i18n.ns(\"app-admin/file-manager/components/grid\");\n\ninterface GridProps {\n records: FileItem[];\n folders: FolderItem[];\n loading?: boolean;\n onRecordClick: (id: string) => void;\n onFolderClick: (id: string) => void;\n selected: FileItem[];\n multiple?: boolean;\n toggleSelected: (file: FileItem) => void;\n deselectAll: () => void;\n onChange?: Function;\n onClose?: Function;\n hasOnSelectCallback: boolean;\n}\n\nexport const Grid: React.FC<GridProps> = ({\n folders,\n records,\n loading,\n onRecordClick,\n onFolderClick,\n selected,\n onChange,\n onClose,\n toggleSelected,\n deselectAll,\n multiple,\n hasOnSelectCallback\n}) => {\n if (loading) {\n return <CircularProgress label={t`Loading Files...`} style={{ opacity: 1 }} />;\n }\n\n const onSelect = useMemo(() => {\n if (!onChange) {\n return undefined;\n }\n\n return (record: FileItem) => (event?: React.MouseEvent) => {\n if (event) {\n event.stopPropagation();\n }\n\n if (!hasOnSelectCallback || multiple) {\n toggleSelected(record);\n return;\n }\n\n onChange(record);\n onClose && onClose();\n };\n }, [onChange]);\n\n return (\n <>\n <FolderList>\n <FolderGrid folders={folders} onFolderClick={onFolderClick} />\n </FolderList>\n <FileList onClick={deselectAll}>\n {records.map(record => (\n <FileProvider file={record} key={record.id}>\n <FileThumbnail\n file={record}\n multiple={Boolean(multiple)}\n showFileDetails={onRecordClick}\n selected={selected.some(current => current.id === record.id)}\n onSelect={onSelect ? onSelect(record) : undefined}\n >\n <Thumbnail />\n </FileThumbnail>\n </FileProvider>\n ))}\n </FileList>\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAGA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAAuD,IAAAQ,eAAA;AAEvD,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,wCAAwC,CAAC;AAiBpD,IAAMC,IAAyB,GAAG,SAA5BA,IAAyBA,CAAAC,IAAA,EAahC;EAAA,IAZFC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,aAAa,GAAAL,IAAA,CAAbK,aAAa;IACbC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,cAAc,GAAAT,IAAA,CAAdS,cAAc;IACdC,WAAW,GAAAV,IAAA,CAAXU,WAAW;IACXC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,mBAAmB,GAAAZ,IAAA,CAAnBY,mBAAmB;EAEnB,IAAIT,OAAO,EAAE;IACT,oBAAOlB,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACxB,SAAA,CAAAyB,gBAAgB;MAACC,KAAK,EAAEpB,CAAC,CAAAD,eAAA,KAAAA,eAAA,OAAAsB,uBAAA,CAAAJ,OAAA,yBAAmB;MAACK,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAE;IAAE,CAAE,CAAC;EAClF;EAEA,IAAMC,QAAQ,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC3B,IAAI,CAACd,QAAQ,EAAE;MACX,OAAOe,SAAS;IACpB;IAEA,OAAO,UAACC,MAAgB;MAAA,OAAK,UAACC,KAAwB,EAAK;QACvD,IAAIA,KAAK,EAAE;UACPA,KAAK,CAACC,eAAe,CAAC,CAAC;QAC3B;QAEA,IAAI,CAACb,mBAAmB,IAAID,QAAQ,EAAE;UAClCF,cAAc,CAACc,MAAM,CAAC;UACtB;QACJ;QAEAhB,QAAQ,CAACgB,MAAM,CAAC;QAChBf,OAAO,IAAIA,OAAO,CAAC,CAAC;MACxB,CAAC;IAAA;EACL,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;EAEd,oBACItB,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAAA7B,MAAA,CAAA4B,OAAA,CAAAa,QAAA,qBACIzC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACtB,OAAA,CAAAmC,UAAU,qBACP1C,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAAC1B,OAAA,CAAAwC,UAAU;IAAC3B,OAAO,EAAEA,OAAQ;IAACI,aAAa,EAAEA;EAAc,CAAE,CACrD,CAAC,eACbpB,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACtB,OAAA,CAAAqC,QAAQ;IAACC,OAAO,EAAEpB;EAAY,GAC1BR,OAAO,CAAC6B,GAAG,CAAC,UAAAR,MAAM;IAAA,oBACftC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACpB,aAAA,CAAAsC,YAAY;MAACC,IAAI,EAAEV,MAAO;MAACW,GAAG,EAAEX,MAAM,CAACY;IAAG,gBACvClD,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACvB,KAAA,CAAA6C,aAAa;MACVH,IAAI,EAAEV,MAAO;MACbZ,QAAQ,EAAE0B,OAAO,CAAC1B,QAAQ,CAAE;MAC5B2B,eAAe,EAAElC,aAAc;MAC/BE,QAAQ,EAAEA,QAAQ,CAACiC,IAAI,CAAC,UAAAC,OAAO;QAAA,OAAIA,OAAO,CAACL,EAAE,KAAKZ,MAAM,CAACY,EAAE;MAAA,EAAE;MAC7Df,QAAQ,EAAEA,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAAC,GAAGD;IAAU,gBAElDrC,MAAA,CAAA4B,OAAA,CAAAC,aAAA,CAACrB,UAAA,CAAAgD,SAAS,MAAE,CACD,CACL,CAAC;EAAA,CAClB,CACK,CACZ,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA3C,IAAA,GAAAA,IAAA"}
|
|
@@ -12,6 +12,7 @@ export interface TableProps {
|
|
|
12
12
|
onRecordClick: (id: string) => void;
|
|
13
13
|
onFolderClick: (id: string) => void;
|
|
14
14
|
onSelectRow: ((rows: Entry[] | []) => void) | undefined;
|
|
15
|
+
onToggleRow: ((row: Entry) => void) | undefined;
|
|
15
16
|
sorting: Sorting;
|
|
16
17
|
onSortingChange: OnSortingChange;
|
|
17
18
|
settings?: Settings;
|
|
@@ -71,6 +71,7 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
71
71
|
records = props.records,
|
|
72
72
|
selectedRecords = props.selectedRecords,
|
|
73
73
|
onSelectRow = props.onSelectRow,
|
|
74
|
+
onToggleRow = props.onToggleRow,
|
|
74
75
|
loading = props.loading,
|
|
75
76
|
onRecordClick = props.onRecordClick,
|
|
76
77
|
onFolderClick = props.onFolderClick,
|
|
@@ -143,23 +144,13 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
143
144
|
return "-";
|
|
144
145
|
}
|
|
145
146
|
},
|
|
146
|
-
createdOn: {
|
|
147
|
-
header: "Created",
|
|
148
|
-
cell: function cell(_ref) {
|
|
149
|
-
var createdOn = _ref.createdOn;
|
|
150
|
-
return /*#__PURE__*/_react.default.createElement(_timeagoReact.default, {
|
|
151
|
-
datetime: createdOn
|
|
152
|
-
});
|
|
153
|
-
},
|
|
154
|
-
enableSorting: true
|
|
155
|
-
},
|
|
156
147
|
createdBy: {
|
|
157
148
|
header: "Author"
|
|
158
149
|
},
|
|
159
150
|
savedOn: {
|
|
160
151
|
header: "Modified",
|
|
161
|
-
cell: function cell(
|
|
162
|
-
var savedOn =
|
|
152
|
+
cell: function cell(_ref) {
|
|
153
|
+
var savedOn = _ref.savedOn;
|
|
163
154
|
return /*#__PURE__*/_react.default.createElement(_timeagoReact.default, {
|
|
164
155
|
datetime: savedOn
|
|
165
156
|
});
|
|
@@ -227,6 +218,7 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
227
218
|
loadingInitial: loading,
|
|
228
219
|
stickyRows: 1,
|
|
229
220
|
onSelectRow: onSelectRow,
|
|
221
|
+
onToggleRow: onToggleRow,
|
|
230
222
|
isRowSelectable: function isRowSelectable(row) {
|
|
231
223
|
return row.original.$selectable;
|
|
232
224
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_more_vert","_appAco","_Button","_DataTable","_Menu","_bytes","_interopRequireDefault","_timeagoReact","_Name","_FolderActionDelete","_FolderActionEdit","_FolderActionManagePermissions","_RecordActionCopy","_RecordActionDelete","_RecordActionEdit","_RecordActionMove","_styled","_FileProvider","createRecordsData","items","map","data","_data$createdBy","$type","$selectable","id","name","createdBy","displayName","createdOn","savedOn","type","size","original","location","createFoldersData","item","_item$createdBy","title","isFileEntry","entry","Table","forwardRef","props","ref","folders","records","selectedRecords","onSelectRow","loading","onRecordClick","onFolderClick","sorting","onSortingChange","_useState","useState","_useState2","_slicedToArray2","default","selectedFolder","setSelectedFolder","_useState3","_useState4","updateDialogOpen","setUpdateDialogOpen","_useState5","_useState6","deleteDialogOpen","setDeleteDialogOpen","_useState7","_useState8","managePermissionsDialogOpen","setManagePermissionsDialogOpen","useMemo","concat","_toConsumableArray2","columns","header","enableSorting","cell","createElement","FileName","onClick","_item$original","hasNonInheritedPermissions","canManagePermissions","FolderName","bytes","format","unitSeparator","_ref","datetime","_ref2","meta","alignEnd","enableResizing","Fragment","FileProvider","file","Menu","className","menuStyles","handle","IconButton","icon","ReactComponent","RecordActionCopy","record","RecordActionEdit","RecordActionMove","RecordActionDelete","FolderActionEdit","FolderActionManagePermissions","FolderActionDelete","DataTable","loadingInitial","stickyRows","isRowSelectable","row","initialSorting","desc","selectedRows","FolderDialogUpdate","folder","open","onClose","FolderDialogManagePermissions","FolderDialogDelete","exports"],"sources":["Table.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport { ReactComponent as MoreIcon } from \"@material-design-icons/svg/filled/more_vert.svg\";\nimport {\n FolderDialogDelete,\n FolderDialogUpdate,\n FolderDialogManagePermissions\n} from \"@webiny/app-aco\";\nimport { FolderItem, Location } from \"@webiny/app-aco/types\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Columns, DataTable, OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport bytes from \"bytes\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport { FileName, FolderName } from \"./Name\";\nimport { FolderActionDelete } from \"./FolderActionDelete\";\nimport { FolderActionEdit } from \"./FolderActionEdit\";\nimport { FolderActionManagePermissions } from \"./FolderActionManagePermissions\";\nimport { RecordActionCopy } from \"./RecordActionCopy\";\nimport { RecordActionDelete } from \"./RecordActionDelete\";\nimport { RecordActionEdit } from \"./RecordActionEdit\";\nimport { RecordActionMove } from \"./RecordActionMove\";\nimport { menuStyles } from \"./styled\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Settings } from \"~/types\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\n\nexport interface TableProps {\n records: FileItem[];\n folders: FolderItem[];\n selectedRecords: FileItem[];\n loading?: boolean;\n onRecordClick: (id: string) => void;\n onFolderClick: (id: string) => void;\n onSelectRow: ((rows: Entry[] | []) => void) | undefined;\n sorting: Sorting;\n onSortingChange: OnSortingChange;\n settings?: Settings;\n}\n\ninterface BaseEntry {\n $selectable: boolean;\n id: string;\n createdBy: string;\n createdOn: string;\n savedOn: string;\n}\n\ninterface FileEntry extends BaseEntry {\n $type: \"RECORD\";\n name: string;\n type: string;\n size: number;\n original: FileItem;\n location: Location;\n}\n\ninterface FolderEntry extends BaseEntry {\n $type: \"FOLDER\";\n title: string;\n original: FolderItem;\n}\n\nexport type Entry = FolderEntry | FileEntry;\n\nconst createRecordsData = (items: FileItem[]): FileEntry[] => {\n return items.map(data => {\n return {\n $type: \"RECORD\",\n $selectable: true, // Files a.k.a. records are always selectable to perform bulk actions\n id: data.id,\n name: data.name,\n createdBy: data.createdBy?.displayName || \"-\",\n createdOn: data.createdOn,\n savedOn: data.savedOn,\n type: data.type,\n size: data.size,\n original: data || {},\n location: data.location\n };\n });\n};\n\nconst createFoldersData = (items: FolderItem[]): FolderEntry[] => {\n return items.map(item => ({\n $type: \"FOLDER\",\n $selectable: false,\n id: item.id,\n title: item.title,\n createdBy: item.createdBy?.displayName || \"-\",\n createdOn: item.createdOn,\n savedOn: item.savedOn,\n original: item\n }));\n};\n\nfunction isFileEntry(entry: Entry): entry is FileEntry {\n return entry.$type === \"RECORD\";\n}\n\nexport const Table = forwardRef<HTMLDivElement, TableProps>((props, ref) => {\n const {\n folders,\n records,\n selectedRecords,\n onSelectRow,\n loading,\n onRecordClick,\n onFolderClick,\n sorting,\n onSortingChange\n } = props;\n\n const [selectedFolder, setSelectedFolder] = useState<FolderItem>();\n const [updateDialogOpen, setUpdateDialogOpen] = useState<boolean>(false);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState<boolean>(false);\n const [managePermissionsDialogOpen, setManagePermissionsDialogOpen] = useState<boolean>(false);\n\n const data = useMemo<Entry[]>(() => {\n return [...createFoldersData(folders), ...createRecordsData(records)];\n }, [folders, records]);\n\n const columns: Columns<Entry> = useMemo(() => {\n return {\n name: {\n header: \"Name\",\n enableSorting: true,\n size: 400,\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return (\n <FileName\n name={item.name}\n id={item.id}\n type={item.type}\n onClick={onRecordClick}\n />\n );\n }\n\n const { hasNonInheritedPermissions, canManagePermissions } = item.original;\n\n return (\n <FolderName\n name={item.title}\n id={item.id}\n onClick={onFolderClick}\n canManagePermissions={canManagePermissions}\n hasNonInheritedPermissions={hasNonInheritedPermissions}\n />\n );\n }\n },\n type: {\n header: \"Type\",\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return item.type;\n }\n return \"-\";\n }\n },\n size: {\n header: \"Size\",\n enableSorting: true,\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return bytes.format(item.size, { unitSeparator: \" \" });\n }\n return \"-\";\n }\n },\n createdOn: {\n header: \"Created\",\n cell: ({ createdOn }: Entry) => <TimeAgo datetime={createdOn} />,\n enableSorting: true\n },\n createdBy: {\n header: \"Author\"\n },\n savedOn: {\n header: \"Modified\",\n cell: ({ savedOn }: Entry) => <TimeAgo datetime={savedOn} />,\n enableSorting: true\n },\n original: {\n header: \"\",\n meta: {\n alignEnd: true\n },\n size: 60,\n enableResizing: false,\n cell: (item: Entry) => {\n if (!item.original) {\n return <></>;\n } else if (isFileEntry(item)) {\n const { original } = item;\n return (\n <FileProvider file={original}>\n <Menu\n className={menuStyles}\n handle={<IconButton icon={<MoreIcon />} />}\n >\n <RecordActionCopy record={original} />\n <RecordActionEdit id={original.id} onClick={onRecordClick} />\n <RecordActionMove />\n <RecordActionDelete record={original} />\n </Menu>\n </FileProvider>\n );\n }\n\n const { original } = item;\n\n return (\n <Menu handle={<IconButton icon={<MoreIcon />} />}>\n <FolderActionEdit\n onClick={() => {\n setUpdateDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n {original.canManagePermissions && (\n <FolderActionManagePermissions\n onClick={() => {\n setManagePermissionsDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n )}\n <FolderActionDelete\n onClick={() => {\n setDeleteDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n </Menu>\n );\n }\n }\n };\n }, []);\n\n return (\n <div ref={ref}>\n <DataTable<Entry>\n columns={columns}\n data={data}\n loadingInitial={loading}\n stickyRows={1}\n onSelectRow={onSelectRow}\n isRowSelectable={row => row.original.$selectable}\n sorting={sorting}\n initialSorting={[\n {\n id: \"createdOn\",\n desc: true\n }\n ]}\n onSortingChange={onSortingChange}\n selectedRows={createRecordsData(selectedRecords)}\n />\n {selectedFolder && (\n <>\n <FolderDialogUpdate\n folder={selectedFolder}\n open={updateDialogOpen}\n onClose={() => setUpdateDialogOpen(false)}\n />\n <FolderDialogManagePermissions\n folder={selectedFolder}\n open={managePermissionsDialogOpen}\n onClose={() => setManagePermissionsDialogOpen(false)}\n />\n <FolderDialogDelete\n folder={selectedFolder}\n open={deleteDialogOpen}\n onClose={() => setDeleteDialogOpen(false)}\n />\n </>\n )}\n </div>\n );\n});\n\nTable.displayName = \"Table\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_more_vert","_appAco","_Button","_DataTable","_Menu","_bytes","_interopRequireDefault","_timeagoReact","_Name","_FolderActionDelete","_FolderActionEdit","_FolderActionManagePermissions","_RecordActionCopy","_RecordActionDelete","_RecordActionEdit","_RecordActionMove","_styled","_FileProvider","createRecordsData","items","map","data","_data$createdBy","$type","$selectable","id","name","createdBy","displayName","createdOn","savedOn","type","size","original","location","createFoldersData","item","_item$createdBy","title","isFileEntry","entry","Table","forwardRef","props","ref","folders","records","selectedRecords","onSelectRow","onToggleRow","loading","onRecordClick","onFolderClick","sorting","onSortingChange","_useState","useState","_useState2","_slicedToArray2","default","selectedFolder","setSelectedFolder","_useState3","_useState4","updateDialogOpen","setUpdateDialogOpen","_useState5","_useState6","deleteDialogOpen","setDeleteDialogOpen","_useState7","_useState8","managePermissionsDialogOpen","setManagePermissionsDialogOpen","useMemo","concat","_toConsumableArray2","columns","header","enableSorting","cell","createElement","FileName","onClick","_item$original","hasNonInheritedPermissions","canManagePermissions","FolderName","bytes","format","unitSeparator","_ref","datetime","meta","alignEnd","enableResizing","Fragment","FileProvider","file","Menu","className","menuStyles","handle","IconButton","icon","ReactComponent","RecordActionCopy","record","RecordActionEdit","RecordActionMove","RecordActionDelete","FolderActionEdit","FolderActionManagePermissions","FolderActionDelete","DataTable","loadingInitial","stickyRows","isRowSelectable","row","initialSorting","desc","selectedRows","FolderDialogUpdate","folder","open","onClose","FolderDialogManagePermissions","FolderDialogDelete","exports"],"sources":["Table.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport { ReactComponent as MoreIcon } from \"@material-design-icons/svg/filled/more_vert.svg\";\nimport {\n FolderDialogDelete,\n FolderDialogUpdate,\n FolderDialogManagePermissions\n} from \"@webiny/app-aco\";\nimport { FolderItem, Location } from \"@webiny/app-aco/types\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Columns, DataTable, OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport bytes from \"bytes\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport { FileName, FolderName } from \"./Name\";\nimport { FolderActionDelete } from \"./FolderActionDelete\";\nimport { FolderActionEdit } from \"./FolderActionEdit\";\nimport { FolderActionManagePermissions } from \"./FolderActionManagePermissions\";\nimport { RecordActionCopy } from \"./RecordActionCopy\";\nimport { RecordActionDelete } from \"./RecordActionDelete\";\nimport { RecordActionEdit } from \"./RecordActionEdit\";\nimport { RecordActionMove } from \"./RecordActionMove\";\nimport { menuStyles } from \"./styled\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Settings } from \"~/types\";\nimport { FileProvider } from \"~/contexts/FileProvider\";\n\nexport interface TableProps {\n records: FileItem[];\n folders: FolderItem[];\n selectedRecords: FileItem[];\n loading?: boolean;\n onRecordClick: (id: string) => void;\n onFolderClick: (id: string) => void;\n onSelectRow: ((rows: Entry[] | []) => void) | undefined;\n onToggleRow: ((row: Entry) => void) | undefined;\n sorting: Sorting;\n onSortingChange: OnSortingChange;\n settings?: Settings;\n}\n\ninterface BaseEntry {\n $selectable: boolean;\n id: string;\n createdBy: string;\n createdOn: string;\n savedOn: string;\n}\n\ninterface FileEntry extends BaseEntry {\n $type: \"RECORD\";\n name: string;\n type: string;\n size: number;\n original: FileItem;\n location: Location;\n}\n\ninterface FolderEntry extends BaseEntry {\n $type: \"FOLDER\";\n title: string;\n original: FolderItem;\n}\n\nexport type Entry = FolderEntry | FileEntry;\n\nconst createRecordsData = (items: FileItem[]): FileEntry[] => {\n return items.map(data => {\n return {\n $type: \"RECORD\",\n $selectable: true, // Files a.k.a. records are always selectable to perform bulk actions\n id: data.id,\n name: data.name,\n createdBy: data.createdBy?.displayName || \"-\",\n createdOn: data.createdOn,\n savedOn: data.savedOn,\n type: data.type,\n size: data.size,\n original: data || {},\n location: data.location\n };\n });\n};\n\nconst createFoldersData = (items: FolderItem[]): FolderEntry[] => {\n return items.map(item => ({\n $type: \"FOLDER\",\n $selectable: false,\n id: item.id,\n title: item.title,\n createdBy: item.createdBy?.displayName || \"-\",\n createdOn: item.createdOn,\n savedOn: item.savedOn,\n original: item\n }));\n};\n\nfunction isFileEntry(entry: Entry): entry is FileEntry {\n return entry.$type === \"RECORD\";\n}\n\nexport const Table = forwardRef<HTMLDivElement, TableProps>((props, ref) => {\n const {\n folders,\n records,\n selectedRecords,\n onSelectRow,\n onToggleRow,\n loading,\n onRecordClick,\n onFolderClick,\n sorting,\n onSortingChange\n } = props;\n\n const [selectedFolder, setSelectedFolder] = useState<FolderItem>();\n const [updateDialogOpen, setUpdateDialogOpen] = useState<boolean>(false);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState<boolean>(false);\n const [managePermissionsDialogOpen, setManagePermissionsDialogOpen] = useState<boolean>(false);\n\n const data = useMemo<Entry[]>(() => {\n return [...createFoldersData(folders), ...createRecordsData(records)];\n }, [folders, records]);\n\n const columns: Columns<Entry> = useMemo(() => {\n return {\n name: {\n header: \"Name\",\n enableSorting: true,\n size: 400,\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return (\n <FileName\n name={item.name}\n id={item.id}\n type={item.type}\n onClick={onRecordClick}\n />\n );\n }\n\n const { hasNonInheritedPermissions, canManagePermissions } = item.original;\n\n return (\n <FolderName\n name={item.title}\n id={item.id}\n onClick={onFolderClick}\n canManagePermissions={canManagePermissions}\n hasNonInheritedPermissions={hasNonInheritedPermissions}\n />\n );\n }\n },\n type: {\n header: \"Type\",\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return item.type;\n }\n return \"-\";\n }\n },\n size: {\n header: \"Size\",\n enableSorting: true,\n cell: (item: Entry) => {\n if (isFileEntry(item)) {\n return bytes.format(item.size, { unitSeparator: \" \" });\n }\n return \"-\";\n }\n },\n createdBy: {\n header: \"Author\"\n },\n savedOn: {\n header: \"Modified\",\n cell: ({ savedOn }: Entry) => <TimeAgo datetime={savedOn} />,\n enableSorting: true\n },\n original: {\n header: \"\",\n meta: {\n alignEnd: true\n },\n size: 60,\n enableResizing: false,\n cell: (item: Entry) => {\n if (!item.original) {\n return <></>;\n } else if (isFileEntry(item)) {\n const { original } = item;\n return (\n <FileProvider file={original}>\n <Menu\n className={menuStyles}\n handle={<IconButton icon={<MoreIcon />} />}\n >\n <RecordActionCopy record={original} />\n <RecordActionEdit id={original.id} onClick={onRecordClick} />\n <RecordActionMove />\n <RecordActionDelete record={original} />\n </Menu>\n </FileProvider>\n );\n }\n\n const { original } = item;\n\n return (\n <Menu handle={<IconButton icon={<MoreIcon />} />}>\n <FolderActionEdit\n onClick={() => {\n setUpdateDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n {original.canManagePermissions && (\n <FolderActionManagePermissions\n onClick={() => {\n setManagePermissionsDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n )}\n <FolderActionDelete\n onClick={() => {\n setDeleteDialogOpen(true);\n setSelectedFolder(original);\n }}\n />\n </Menu>\n );\n }\n }\n };\n }, []);\n\n return (\n <div ref={ref}>\n <DataTable<Entry>\n columns={columns}\n data={data}\n loadingInitial={loading}\n stickyRows={1}\n onSelectRow={onSelectRow}\n onToggleRow={onToggleRow}\n isRowSelectable={row => row.original.$selectable}\n sorting={sorting}\n initialSorting={[\n {\n id: \"createdOn\",\n desc: true\n }\n ]}\n onSortingChange={onSortingChange}\n selectedRows={createRecordsData(selectedRecords)}\n />\n {selectedFolder && (\n <>\n <FolderDialogUpdate\n folder={selectedFolder}\n open={updateDialogOpen}\n onClose={() => setUpdateDialogOpen(false)}\n />\n <FolderDialogManagePermissions\n folder={selectedFolder}\n open={managePermissionsDialogOpen}\n onClose={() => setManagePermissionsDialogOpen(false)}\n />\n <FolderDialogDelete\n folder={selectedFolder}\n open={deleteDialogOpen}\n onClose={() => setDeleteDialogOpen(false)}\n />\n </>\n )}\n </div>\n );\n});\n\nTable.displayName = \"Table\";\n"],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ var FileListWrapper = /*#__PURE__*/(0, _styled.default)("div", {
|
|
|
48
48
|
label: "FileListWrapper"
|
|
49
49
|
})({
|
|
50
50
|
float: "right",
|
|
51
|
+
zIndex: 60,
|
|
51
52
|
display: "inline-block",
|
|
52
53
|
width: "calc(100vw - 286px)",
|
|
53
54
|
height: "calc(100vh - 94px)",
|
|
@@ -246,6 +247,17 @@ var FileManagerView = function FileManagerView() {
|
|
|
246
247
|
var files = getSelectableRow(rows);
|
|
247
248
|
view.setSelected(files);
|
|
248
249
|
};
|
|
250
|
+
var onToggleRow = view.hasOnSelectCallback ? function (row) {
|
|
251
|
+
var files = getSelectableRow([row]);
|
|
252
|
+
if (view.multiple) {
|
|
253
|
+
view.toggleSelected(files[0]);
|
|
254
|
+
} else {
|
|
255
|
+
view.onChange(files[0]);
|
|
256
|
+
}
|
|
257
|
+
} : function (row) {
|
|
258
|
+
var files = getSelectableRow([row]);
|
|
259
|
+
view.toggleSelected(files[0]);
|
|
260
|
+
};
|
|
249
261
|
return /*#__PURE__*/_react.default.createElement(_Table.Table, {
|
|
250
262
|
folders: view.folders,
|
|
251
263
|
records: view.files,
|
|
@@ -254,6 +266,7 @@ var FileManagerView = function FileManagerView() {
|
|
|
254
266
|
onRecordClick: view.showFileDetails,
|
|
255
267
|
onFolderClick: view.setFolderId,
|
|
256
268
|
onSelectRow: onSelectRow,
|
|
269
|
+
onToggleRow: onToggleRow,
|
|
257
270
|
sorting: tableSorting,
|
|
258
271
|
onSortingChange: setTableSorting,
|
|
259
272
|
settings: view.settings
|
|
@@ -268,6 +281,7 @@ var FileManagerView = function FileManagerView() {
|
|
|
268
281
|
selected: view.selected,
|
|
269
282
|
multiple: view.multiple,
|
|
270
283
|
toggleSelected: view.toggleSelected,
|
|
284
|
+
deselectAll: view.deselectAll,
|
|
271
285
|
onChange: view.onChange,
|
|
272
286
|
onClose: view.onClose,
|
|
273
287
|
hasOnSelectCallback: view.hasOnSelectCallback
|
|
@@ -305,7 +319,6 @@ var FileManagerView = function FileManagerView() {
|
|
|
305
319
|
uploadFiles(filesToUpload);
|
|
306
320
|
},
|
|
307
321
|
onError: function onError(errors) {
|
|
308
|
-
console.log("onError", errors);
|
|
309
322
|
var message = (0, _outputFileSelectionError.outputFileSelectionError)(errors);
|
|
310
323
|
showSnackbar(message);
|
|
311
324
|
}
|
|
@@ -350,19 +363,18 @@ var FileManagerView = function FileManagerView() {
|
|
|
350
363
|
tags: view.tags.allTags,
|
|
351
364
|
onActivatedTagsChange: view.tags.setActiveTags
|
|
352
365
|
}) : null), /*#__PURE__*/_react.default.createElement(FileListWrapper, Object.assign({}, getDropZoneProps({
|
|
353
|
-
|
|
354
|
-
return view.
|
|
355
|
-
}
|
|
356
|
-
}), {
|
|
357
|
-
"data-testid": "fm-list-wrapper"
|
|
358
|
-
}), view.dragging && view.hasPreviouslyUploadedFiles && /*#__PURE__*/_react.default.createElement(_DropFilesHere.DropFilesHere, {
|
|
366
|
+
onDragOver: function onDragOver() {
|
|
367
|
+
return view.setDragging(true);
|
|
368
|
+
},
|
|
359
369
|
onDragLeave: function onDragLeave() {
|
|
360
370
|
return view.setDragging(false);
|
|
361
371
|
},
|
|
362
372
|
onDrop: function onDrop() {
|
|
363
373
|
return view.setDragging(false);
|
|
364
374
|
}
|
|
365
|
-
}),
|
|
375
|
+
}), {
|
|
376
|
+
"data-testid": "fm-list-wrapper"
|
|
377
|
+
}), view.dragging && /*#__PURE__*/_react.default.createElement(_DropFilesHere.DropFilesHere, null), /*#__PURE__*/_react.default.createElement(_BulkActions.BulkActions, null), /*#__PURE__*/_react.default.createElement(_Filters.Filters, null), /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
|
|
366
378
|
onScrollFrame: function onScrollFrame(scrollFrame) {
|
|
367
379
|
return loadMoreOnScroll({
|
|
368
380
|
scrollFrame: scrollFrame
|