@webiny/app-file-manager 5.36.0 → 5.36.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js +5 -4
- package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js.map +1 -1
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.d.ts +1 -1
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js +1 -1
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.d.ts +1 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.d.ts +1 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js +1 -2
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js.map +1 -1
- package/package.json +12 -12
|
@@ -132,10 +132,11 @@ var FileManagerAcoView = function FileManagerAcoView(props) {
|
|
|
132
132
|
showingFileDetails = _useFileManagerAcoVie.showingFileDetails,
|
|
133
133
|
toggleSelected = _useFileManagerAcoVie.toggleSelected,
|
|
134
134
|
uploadFile = _useFileManagerAcoVie.uploadFile;
|
|
135
|
-
var _useAcoList = (0, _appAco.useAcoList)((0, _objectSpread3.default)({
|
|
136
|
-
type: _constants.ACO_TYPE
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
var _useAcoList = (0, _appAco.useAcoList)((0, _objectSpread3.default)((0, _objectSpread3.default)({
|
|
136
|
+
type: _constants.ACO_TYPE
|
|
137
|
+
}, listWhere), {}, {
|
|
138
|
+
folderId: folderId || _constants.FOLDER_ID_DEFAULT
|
|
139
|
+
})),
|
|
139
140
|
folders = _useAcoList.folders,
|
|
140
141
|
isListLoading = _useAcoList.isListLoading,
|
|
141
142
|
isListLoadingMore = _useAcoList.isListLoadingMore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","InputSearch","styled","backgroundColor","position","height","padding","width","borderRadius","border","fontSize","marginLeft","outline","color","searchIcon","css","left","top","FileListWrapper","float","display","maxWidth","whiteSpace","overflow","textOverflow","defaultFolderName","FileManagerAcoView","props","onClose","onChange","accept","multiple","onUploadCompletion","scope","own","useFileManagerAcoView","dragging","setDragging","folderId","setFolderId","getFile","hasPreviouslyUploadedFiles","setHasPreviouslyUploadedFiles","hideFileDetails","listSort","loadingFileDetails","setListSort","listTable","setListTable","listWhere","setListWhere","selected","setSelected","settings","showFileDetails","showingFileDetails","toggleSelected","uploadFile","useAcoList","type","ACO_TYPE","folders","isListLoading","isListLoadingMore","listItems","listTitle","meta","records","uploader","useMemo","BatchFileUploader","fileManager","useFileManagerApi","useSnackbar","showSnackbar","useState","files","setFiles","tableSorting","setTableSorting","showFoldersDialog","setFoldersDialog","openFoldersDialog","useCallback","closeFoldersDialog","didMount","useRef","useEffect","sort","reduce","current","next","id","desc","searchOnChange","debounce","search","length","undefined","listSearchRecords","JSON","stringify","loadMoreRecords","hasMoreItems","cursor","after","loadMoreOnScroll","scrollFrame","toggleTag","tag","tagName","finalTags","AND","tags_in","Array","isArray","includes","splice","indexOf","push","getFileUploadErrorMessage","e","match","message","useHotkeys","zIndex","keys","esc","searchInput","useDeepCompareEffect","recordsFile","map","file","src","srcPrefix","data","key","Boolean","uploadFiles","addFiles","onUploadFinished","uploaded","errors","reset","setTimeout","name","renderUploadFileAction","browseFiles","canCreate","currentFile","setCurrentFile","fetchFileDetails","filesBeingUploaded","getJobs","progress","renderList","rows","filter","row","original","uploadMaxFileSize","filesToUpload","console","log","outputFileSelectionError","getDropZoneProps","target","value","canRead","margin","mode","onDragEnter","defaultProps","observer"],"sources":["FileManagerAcoView.tsx"],"sourcesContent":["import React, { useRef, useCallback, useState, useEffect, useMemo } from \"react\";\nimport Files, { FilesRenderChildren, FilesRules } from \"react-butterfiles\";\nimport { css } from \"emotion\";\nimport debounce from \"lodash/debounce\";\nimport styled from \"@emotion/styled\";\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport useDeepCompareEffect from \"use-deep-compare-effect\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\nimport { ReactComponent as UploadIcon } from \"@material-design-icons/svg/filled/cloud_upload.svg\";\nimport { ReactComponent as AddIcon } from \"@material-design-icons/svg/filled/add.svg\";\nimport { ReactComponent as GridIcon } from \"@material-design-icons/svg/outlined/view_module.svg\";\nimport { ReactComponent as TableIcon } from \"@material-design-icons/svg/outlined/view_list.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FolderDialogCreate, useAcoList } from \"@webiny/app-aco\";\nimport { OverlayLayout, useSnackbar } from \"@webiny/app-admin\";\nimport { ButtonPrimary, ButtonIcon, IconButton, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Sorting } from \"@webiny/ui/DataTable\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nimport { useFileManagerAcoView } from \"~/modules/FileManagerRenderer/FileManagerAcoViewProvider\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport LeftSidebar from \"./LeftSidebar\";\nimport { useFileManagerApi } from \"~/index\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { ListMeta, SearchRecordItem } from \"@webiny/app-aco/types\";\n\nimport { ACO_TYPE } from \"~/constants\";\n\nimport { BottomInfoBar } from \"~/components/BottomInfoBar\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\nimport { Empty } from \"~/components/Empty\";\nimport { FileDetails } from \"~/components/FileDetails\";\nimport { Grid } from \"~/components/Grid\";\nimport { Table } from \"~/components/Table\";\nimport { Title } from \"~/components/Title\";\nimport { UploadStatus } from \"~/components/UploadStatus\";\n\nimport { BatchFileUploader } from \"~/BatchFileUploader\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst InputSearch = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-on-background)\",\n position: \"relative\",\n height: 32,\n padding: 3,\n width: \"100%\",\n borderRadius: 2,\n \"> input\": {\n border: \"none\",\n fontSize: 14,\n width: \"calc(100% - 10px)\",\n height: \"100%\",\n marginLeft: 32,\n backgroundColor: \"transparent\",\n outline: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\nconst searchIcon = css({\n \"&.mdc-button__icon\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n position: \"absolute\",\n width: 24,\n height: 24,\n left: 8,\n top: 8\n }\n});\n\nconst FileListWrapper = styled(\"div\")({\n float: \"right\",\n display: \"inline-block\",\n width: \"calc(100vw - 270px)\",\n height: \"calc(100vh - 94px)\",\n position: \"relative\",\n \".mdc-data-table\": {\n display: \"inline-table\"\n },\n \".mdc-data-table__cell\": {\n width: \"250px\",\n maxWidth: \"250px\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n});\n\nexport interface FileManagerAcoViewProps {\n onChange?: Function;\n onClose?: () => void;\n files?: FilesRules;\n multiple?: boolean; // Does not affect <Files> component, it always allows multiple selection.\n accept: Array<string>;\n maxSize?: number | string;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onUploadCompletion?: Function;\n tags?: string[];\n scope?: string;\n own?: boolean;\n}\n\nconst defaultFolderName = t`All files`;\n\nconst FileManagerAcoView: React.FC<FileManagerAcoViewProps> = props => {\n const { onClose, onChange, accept, multiple = false, onUploadCompletion, scope, own } = props;\n\n const {\n dragging,\n setDragging,\n folderId,\n setFolderId,\n getFile,\n hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles,\n hideFileDetails,\n listSort,\n loadingFileDetails,\n setListSort,\n listTable,\n setListTable,\n listWhere,\n setListWhere,\n selected,\n setSelected,\n settings,\n showFileDetails,\n showingFileDetails,\n toggleSelected,\n uploadFile\n } = useFileManagerAcoView();\n\n const {\n folders,\n isListLoading,\n isListLoadingMore,\n listItems,\n listTitle = defaultFolderName,\n meta,\n records\n } = useAcoList({ type: ACO_TYPE, folderId, ...listWhere });\n\n const uploader = useMemo<BatchFileUploader>(\n () => new BatchFileUploader(uploadFile),\n [folderId]\n );\n\n const fileManager = useFileManagerApi();\n const { showSnackbar } = useSnackbar();\n\n const [files, setFiles] = useState<SearchRecordItem<FileItem>[]>([]);\n const [tableSorting, setTableSorting] = useState<Sorting>([]);\n\n const [showFoldersDialog, setFoldersDialog] = useState(false);\n const openFoldersDialog = useCallback(() => setFoldersDialog(true), []);\n const closeFoldersDialog = useCallback(() => setFoldersDialog(false), []);\n\n const didMount = useRef(false);\n\n useEffect(() => {\n const sort = tableSorting.reduce((current, next) => {\n return { ...current, [next.id]: next.desc ? \"DESC\" : \"ASC\" };\n }, {});\n\n setListSort(sort);\n }, [tableSorting]);\n\n const searchOnChange = useCallback(\n // @ts-ignore\n debounce(search => {\n if (search.length) {\n setListWhere({ search, folderId: undefined });\n } else {\n setFolderId(folderId);\n setListWhere({ search: undefined });\n }\n }, 500),\n [folderId]\n );\n\n useEffect(() => {\n const listSearchRecords = async () => {\n await listItems({ ...listWhere, sort: listSort });\n };\n\n if (didMount.current) {\n listSearchRecords();\n } else {\n didMount.current = true;\n }\n }, [JSON.stringify(listWhere), listSort]);\n\n const loadMoreRecords = async ({ hasMoreItems, cursor }: ListMeta) => {\n if (hasMoreItems && cursor) {\n await listItems({ ...listWhere, sort: listSort, after: cursor });\n }\n };\n\n const loadMoreOnScroll = useCallback(\n debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await loadMoreRecords(meta);\n }\n }, 200),\n [meta]\n );\n\n const toggleTag = useCallback(async ({ tag, listWhere }) => {\n const { tag: tagName } = tag;\n\n const finalTags =\n listWhere.AND && listWhere.AND[0]?.tags_in && Array.isArray(listWhere.AND[0]?.tags_in)\n ? listWhere.AND[0].tags_in\n : [];\n\n if (finalTags.includes(tagName)) {\n finalTags.splice(finalTags.indexOf(tagName), 1);\n } else {\n finalTags.push(tagName);\n }\n\n setListWhere({\n ...listWhere,\n AND: finalTags.length ? [{ tags_in: finalTags }] : undefined\n });\n }, []);\n\n const getFileUploadErrorMessage = useCallback(e => {\n if (typeof e === \"string\") {\n const match = e.match(/Message>(.*?)<\\/Message/);\n if (match) {\n const [, message] = match;\n return message;\n }\n\n return e;\n }\n return e.message;\n }, []);\n\n useHotkeys({\n zIndex: 50,\n keys: {\n esc: onClose\n }\n });\n\n const searchInput = useRef<HTMLInputElement>(null);\n\n useDeepCompareEffect(() => {\n if (!settings) {\n return;\n }\n\n const recordsFile = records.map(file => {\n const src = settings?.srcPrefix + file.data.key;\n return {\n ...file,\n data: {\n ...file.data,\n src\n }\n };\n });\n\n setFiles(recordsFile as SearchRecordItem<FileItem>[]);\n }, [{ ...records }, settings]);\n\n useDeepCompareEffect(() => {\n setHasPreviouslyUploadedFiles(Boolean(records.length > 0 || folders.length > 0));\n }, [{ ...records }, { ...folders }]);\n\n const uploadFiles = async (files: File[]) => {\n uploader.addFiles(files);\n\n uploader.onUploadFinished(({ uploaded, errors }) => {\n uploader.reset();\n\n if (!hasPreviouslyUploadedFiles) {\n setHasPreviouslyUploadedFiles(true);\n }\n\n if (errors.length > 0) {\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => {\n showSnackbar(\n <>\n {t`One or more files were not uploaded successfully:`}\n <ol>\n {errors.map(({ file, e }) => (\n <li key={file.name}>\n <strong>{file.name}</strong>: {getFileUploadErrorMessage(e)}\n </li>\n ))}\n </ol>\n </>\n );\n }, 750);\n\n return;\n }\n\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => showSnackbar(t`File upload complete.`), 750);\n\n if (typeof onUploadCompletion === \"function\") {\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => {\n onUploadCompletion(uploaded);\n onClose && onClose();\n }, 750);\n }\n });\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }) => {\n if (!fileManager.canCreate) {\n return null;\n }\n return (\n <ButtonPrimary flat={true} small={true} onClick={browseFiles}>\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [fileManager.canCreate]\n );\n\n const [currentFile, setCurrentFile] = useState<FileItem>();\n useEffect(() => {\n const fetchFileDetails = async () => {\n if (showingFileDetails) {\n const file = await getFile(showingFileDetails);\n setCurrentFile(file);\n } else {\n setCurrentFile(undefined);\n }\n };\n\n // call the function\n fetchFileDetails();\n }, [showingFileDetails]);\n\n const filesBeingUploaded = uploader.getJobs().length;\n const progress = uploader.progress;\n\n const renderList = (browseFiles: FilesRenderChildren[\"browseFiles\"]) => {\n if (!isListLoading && listWhere.search && records.length === 0) {\n return <Empty isSearchResult={true} browseFiles={browseFiles} />;\n }\n\n if (!isListLoading && records.length === 0 && folders.length === 0) {\n return <Empty isSearchResult={false} browseFiles={browseFiles} />;\n }\n\n if (listTable) {\n return (\n <Table\n folders={folders}\n records={files}\n loading={isListLoading}\n onRecordClick={showFileDetails}\n onFolderClick={setFolderId}\n onSelectRow={rows => {\n const files = rows\n .filter(row => row.type === \"RECORD\")\n .map(row => row.original as FileItem);\n setSelected(files);\n }}\n sorting={tableSorting}\n onSortingChange={setTableSorting}\n settings={settings}\n selectableItems={Boolean(typeof onChange === \"function\")}\n />\n );\n }\n\n return (\n <Grid\n folders={folders}\n records={files.map(file => file.data)}\n loading={isListLoading}\n onRecordClick={showFileDetails}\n onFolderClick={setFolderId}\n selected={selected}\n multiple={multiple}\n toggleSelected={toggleSelected}\n onChange={onChange}\n onClose={onClose}\n />\n );\n };\n\n return (\n <>\n <Files\n multiple\n maxSize={settings ? settings.uploadMaxFileSize + \"b\" : \"1TB\"}\n multipleMaxSize={\"1TB\"}\n accept={accept}\n onSuccess={files => {\n const filesToUpload = files\n .map(file => file.src.file)\n .filter(Boolean) as File[];\n uploadFiles(filesToUpload);\n }}\n onError={errors => {\n console.log(\"onError\", errors);\n const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles }) => (\n <OverlayLayout\n onExited={onClose}\n barLeft={<Title title={listTitle} />}\n barMiddle={\n <InputSearch>\n <Icon className={searchIcon} icon={<SearchIcon />} />\n <input\n ref={searchInput}\n onChange={e => searchOnChange(e.target.value)}\n placeholder={t`Search by filename or tags`}\n disabled={!fileManager.canRead}\n data-testid={\"file-manager.search-input\"}\n />\n </InputSearch>\n }\n barRight={\n <>\n {selected.length > 0 ? (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={() => {\n (async () => {\n if (typeof onChange === \"function\") {\n await onChange(\n multiple ? selected : selected[0]\n );\n\n onClose && onClose();\n }\n })();\n }}\n >\n {t`Select`} {multiple && `(${selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles })\n )}\n <ButtonSecondary\n data-testid={\"file-manager.create-folder-button\"}\n onClick={openFoldersDialog}\n small={true}\n style={{ margin: \"0 8px\" }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Folder`}\n </ButtonSecondary>\n <Tooltip\n content={t`{mode} layout`({\n mode: listTable ? \"Grid\" : \"Table\"\n })}\n placement={\"bottom\"}\n >\n <IconButton\n icon={listTable ? <GridIcon /> : <TableIcon />}\n onClick={() => setListTable(!listTable)}\n >\n {t`Switch`}\n </IconButton>\n </Tooltip>\n </>\n }\n >\n <>\n <FileDetails\n loading={loadingFileDetails}\n file={currentFile}\n open={Boolean(showingFileDetails)}\n onClose={hideFileDetails}\n scope={scope}\n own={own}\n />\n <LeftSidebar\n title={defaultFolderName}\n currentFolder={folderId}\n onFolderClick={setFolderId}\n scope={scope}\n own={own}\n toggleTag={tag => toggleTag({ tag, listWhere })}\n />\n <FileListWrapper\n {...getDropZoneProps({\n onDragEnter: () =>\n hasPreviouslyUploadedFiles && setDragging(true)\n })}\n data-testid={\"fm-list-wrapper\"}\n >\n {dragging && hasPreviouslyUploadedFiles && (\n <DropFilesHere\n onDragLeave={() => setDragging(false)}\n onDrop={() => setDragging(false)}\n />\n )}\n <Scrollbar\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n {renderList(browseFiles)}\n </Scrollbar>\n <BottomInfoBar accept={accept} listing={isListLoadingMore} />\n <UploadStatus\n numberOfFiles={filesBeingUploaded}\n progress={progress}\n />\n </FileListWrapper>\n </>\n </OverlayLayout>\n )}\n </Files>\n <FolderDialogCreate\n type={ACO_TYPE}\n open={showFoldersDialog}\n onClose={closeFoldersDialog}\n currentParentId={folderId || null}\n />\n </>\n );\n};\n\nFileManagerAcoView.defaultProps = {\n multiple: false\n};\n\nexport default observer(FileManagerAcoView);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","InputSearch","styled","backgroundColor","position","height","padding","width","borderRadius","border","fontSize","marginLeft","outline","color","searchIcon","css","left","top","FileListWrapper","float","display","maxWidth","whiteSpace","overflow","textOverflow","defaultFolderName","FileManagerAcoView","props","onClose","onChange","accept","multiple","onUploadCompletion","scope","own","useFileManagerAcoView","dragging","setDragging","folderId","setFolderId","getFile","hasPreviouslyUploadedFiles","setHasPreviouslyUploadedFiles","hideFileDetails","listSort","loadingFileDetails","setListSort","listTable","setListTable","listWhere","setListWhere","selected","setSelected","settings","showFileDetails","showingFileDetails","toggleSelected","uploadFile","useAcoList","type","ACO_TYPE","FOLDER_ID_DEFAULT","folders","isListLoading","isListLoadingMore","listItems","listTitle","meta","records","uploader","useMemo","BatchFileUploader","fileManager","useFileManagerApi","useSnackbar","showSnackbar","useState","files","setFiles","tableSorting","setTableSorting","showFoldersDialog","setFoldersDialog","openFoldersDialog","useCallback","closeFoldersDialog","didMount","useRef","useEffect","sort","reduce","current","next","id","desc","searchOnChange","debounce","search","length","undefined","listSearchRecords","JSON","stringify","loadMoreRecords","hasMoreItems","cursor","after","loadMoreOnScroll","scrollFrame","toggleTag","tag","tagName","finalTags","AND","tags_in","Array","isArray","includes","splice","indexOf","push","getFileUploadErrorMessage","e","match","message","useHotkeys","zIndex","keys","esc","searchInput","useDeepCompareEffect","recordsFile","map","file","src","srcPrefix","data","key","Boolean","uploadFiles","addFiles","onUploadFinished","uploaded","errors","reset","setTimeout","name","renderUploadFileAction","browseFiles","canCreate","currentFile","setCurrentFile","fetchFileDetails","filesBeingUploaded","getJobs","progress","renderList","rows","filter","row","original","uploadMaxFileSize","filesToUpload","console","log","outputFileSelectionError","getDropZoneProps","target","value","canRead","margin","mode","onDragEnter","defaultProps","observer"],"sources":["FileManagerAcoView.tsx"],"sourcesContent":["import React, { useRef, useCallback, useState, useEffect, useMemo } from \"react\";\nimport Files, { FilesRenderChildren, FilesRules } from \"react-butterfiles\";\nimport { css } from \"emotion\";\nimport debounce from \"lodash/debounce\";\nimport styled from \"@emotion/styled\";\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport useDeepCompareEffect from \"use-deep-compare-effect\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\nimport { ReactComponent as UploadIcon } from \"@material-design-icons/svg/filled/cloud_upload.svg\";\nimport { ReactComponent as AddIcon } from \"@material-design-icons/svg/filled/add.svg\";\nimport { ReactComponent as GridIcon } from \"@material-design-icons/svg/outlined/view_module.svg\";\nimport { ReactComponent as TableIcon } from \"@material-design-icons/svg/outlined/view_list.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FolderDialogCreate, useAcoList } from \"@webiny/app-aco\";\nimport { OverlayLayout, useSnackbar } from \"@webiny/app-admin\";\nimport { ButtonPrimary, ButtonIcon, IconButton, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Sorting } from \"@webiny/ui/DataTable\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nimport { useFileManagerAcoView } from \"~/modules/FileManagerRenderer/FileManagerAcoViewProvider\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport LeftSidebar from \"./LeftSidebar\";\nimport { useFileManagerApi } from \"~/index\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { ListMeta, SearchRecordItem } from \"@webiny/app-aco/types\";\n\nimport { ACO_TYPE, FOLDER_ID_DEFAULT } from \"~/constants\";\n\nimport { BottomInfoBar } from \"~/components/BottomInfoBar\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\nimport { Empty } from \"~/components/Empty\";\nimport { FileDetails } from \"~/components/FileDetails\";\nimport { Grid } from \"~/components/Grid\";\nimport { Table } from \"~/components/Table\";\nimport { Title } from \"~/components/Title\";\nimport { UploadStatus } from \"~/components/UploadStatus\";\n\nimport { BatchFileUploader } from \"~/BatchFileUploader\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst InputSearch = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-on-background)\",\n position: \"relative\",\n height: 32,\n padding: 3,\n width: \"100%\",\n borderRadius: 2,\n \"> input\": {\n border: \"none\",\n fontSize: 14,\n width: \"calc(100% - 10px)\",\n height: \"100%\",\n marginLeft: 32,\n backgroundColor: \"transparent\",\n outline: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\nconst searchIcon = css({\n \"&.mdc-button__icon\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n position: \"absolute\",\n width: 24,\n height: 24,\n left: 8,\n top: 8\n }\n});\n\nconst FileListWrapper = styled(\"div\")({\n float: \"right\",\n display: \"inline-block\",\n width: \"calc(100vw - 270px)\",\n height: \"calc(100vh - 94px)\",\n position: \"relative\",\n \".mdc-data-table\": {\n display: \"inline-table\"\n },\n \".mdc-data-table__cell\": {\n width: \"250px\",\n maxWidth: \"250px\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n});\n\nexport interface FileManagerAcoViewProps {\n onChange?: Function;\n onClose?: () => void;\n files?: FilesRules;\n multiple?: boolean; // Does not affect <Files> component, it always allows multiple selection.\n accept: Array<string>;\n maxSize?: number | string;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onUploadCompletion?: Function;\n tags?: string[];\n scope?: string;\n own?: boolean;\n}\n\nconst defaultFolderName = t`All files`;\n\nconst FileManagerAcoView: React.FC<FileManagerAcoViewProps> = props => {\n const { onClose, onChange, accept, multiple = false, onUploadCompletion, scope, own } = props;\n\n const {\n dragging,\n setDragging,\n folderId,\n setFolderId,\n getFile,\n hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles,\n hideFileDetails,\n listSort,\n loadingFileDetails,\n setListSort,\n listTable,\n setListTable,\n listWhere,\n setListWhere,\n selected,\n setSelected,\n settings,\n showFileDetails,\n showingFileDetails,\n toggleSelected,\n uploadFile\n } = useFileManagerAcoView();\n\n const {\n folders,\n isListLoading,\n isListLoadingMore,\n listItems,\n listTitle = defaultFolderName,\n meta,\n records\n } = useAcoList({\n type: ACO_TYPE,\n ...listWhere,\n folderId: folderId || FOLDER_ID_DEFAULT\n });\n\n const uploader = useMemo<BatchFileUploader>(\n () => new BatchFileUploader(uploadFile),\n [folderId]\n );\n\n const fileManager = useFileManagerApi();\n const { showSnackbar } = useSnackbar();\n\n const [files, setFiles] = useState<SearchRecordItem<FileItem>[]>([]);\n const [tableSorting, setTableSorting] = useState<Sorting>([]);\n\n const [showFoldersDialog, setFoldersDialog] = useState(false);\n const openFoldersDialog = useCallback(() => setFoldersDialog(true), []);\n const closeFoldersDialog = useCallback(() => setFoldersDialog(false), []);\n\n const didMount = useRef(false);\n\n useEffect(() => {\n const sort = tableSorting.reduce((current, next) => {\n return { ...current, [next.id]: next.desc ? \"DESC\" : \"ASC\" };\n }, {});\n\n setListSort(sort);\n }, [tableSorting]);\n\n const searchOnChange = useCallback(\n // @ts-ignore\n debounce(search => {\n if (search.length) {\n setListWhere({ search, folderId: undefined });\n } else {\n setFolderId(folderId);\n setListWhere({ search: undefined });\n }\n }, 500),\n [folderId]\n );\n\n useEffect(() => {\n const listSearchRecords = async () => {\n await listItems({ ...listWhere, sort: listSort });\n };\n\n if (didMount.current) {\n listSearchRecords();\n } else {\n didMount.current = true;\n }\n }, [JSON.stringify(listWhere), listSort]);\n\n const loadMoreRecords = async ({ hasMoreItems, cursor }: ListMeta) => {\n if (hasMoreItems && cursor) {\n await listItems({ ...listWhere, sort: listSort, after: cursor });\n }\n };\n\n const loadMoreOnScroll = useCallback(\n debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await loadMoreRecords(meta);\n }\n }, 200),\n [meta]\n );\n\n const toggleTag = useCallback(async ({ tag, listWhere }) => {\n const { tag: tagName } = tag;\n\n const finalTags =\n listWhere.AND && listWhere.AND[0]?.tags_in && Array.isArray(listWhere.AND[0]?.tags_in)\n ? listWhere.AND[0].tags_in\n : [];\n\n if (finalTags.includes(tagName)) {\n finalTags.splice(finalTags.indexOf(tagName), 1);\n } else {\n finalTags.push(tagName);\n }\n\n setListWhere({\n ...listWhere,\n AND: finalTags.length ? [{ tags_in: finalTags }] : undefined\n });\n }, []);\n\n const getFileUploadErrorMessage = useCallback(e => {\n if (typeof e === \"string\") {\n const match = e.match(/Message>(.*?)<\\/Message/);\n if (match) {\n const [, message] = match;\n return message;\n }\n\n return e;\n }\n return e.message;\n }, []);\n\n useHotkeys({\n zIndex: 50,\n keys: {\n esc: onClose\n }\n });\n\n const searchInput = useRef<HTMLInputElement>(null);\n\n useDeepCompareEffect(() => {\n if (!settings) {\n return;\n }\n\n const recordsFile = records.map(file => {\n const src = settings?.srcPrefix + file.data.key;\n return {\n ...file,\n data: {\n ...file.data,\n src\n }\n };\n });\n\n setFiles(recordsFile as SearchRecordItem<FileItem>[]);\n }, [{ ...records }, settings]);\n\n useDeepCompareEffect(() => {\n setHasPreviouslyUploadedFiles(Boolean(records.length > 0 || folders.length > 0));\n }, [{ ...records }, { ...folders }]);\n\n const uploadFiles = async (files: File[]) => {\n uploader.addFiles(files);\n\n uploader.onUploadFinished(({ uploaded, errors }) => {\n uploader.reset();\n\n if (!hasPreviouslyUploadedFiles) {\n setHasPreviouslyUploadedFiles(true);\n }\n\n if (errors.length > 0) {\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => {\n showSnackbar(\n <>\n {t`One or more files were not uploaded successfully:`}\n <ol>\n {errors.map(({ file, e }) => (\n <li key={file.name}>\n <strong>{file.name}</strong>: {getFileUploadErrorMessage(e)}\n </li>\n ))}\n </ol>\n </>\n );\n }, 750);\n\n return;\n }\n\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => showSnackbar(t`File upload complete.`), 750);\n\n if (typeof onUploadCompletion === \"function\") {\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => {\n onUploadCompletion(uploaded);\n onClose && onClose();\n }, 750);\n }\n });\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }) => {\n if (!fileManager.canCreate) {\n return null;\n }\n return (\n <ButtonPrimary flat={true} small={true} onClick={browseFiles}>\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [fileManager.canCreate]\n );\n\n const [currentFile, setCurrentFile] = useState<FileItem>();\n useEffect(() => {\n const fetchFileDetails = async () => {\n if (showingFileDetails) {\n const file = await getFile(showingFileDetails);\n setCurrentFile(file);\n } else {\n setCurrentFile(undefined);\n }\n };\n\n // call the function\n fetchFileDetails();\n }, [showingFileDetails]);\n\n const filesBeingUploaded = uploader.getJobs().length;\n const progress = uploader.progress;\n\n const renderList = (browseFiles: FilesRenderChildren[\"browseFiles\"]) => {\n if (!isListLoading && listWhere.search && records.length === 0) {\n return <Empty isSearchResult={true} browseFiles={browseFiles} />;\n }\n\n if (!isListLoading && records.length === 0 && folders.length === 0) {\n return <Empty isSearchResult={false} browseFiles={browseFiles} />;\n }\n\n if (listTable) {\n return (\n <Table\n folders={folders}\n records={files}\n loading={isListLoading}\n onRecordClick={showFileDetails}\n onFolderClick={setFolderId}\n onSelectRow={rows => {\n const files = rows\n .filter(row => row.type === \"RECORD\")\n .map(row => row.original as FileItem);\n setSelected(files);\n }}\n sorting={tableSorting}\n onSortingChange={setTableSorting}\n settings={settings}\n selectableItems={Boolean(typeof onChange === \"function\")}\n />\n );\n }\n\n return (\n <Grid\n folders={folders}\n records={files.map(file => file.data)}\n loading={isListLoading}\n onRecordClick={showFileDetails}\n onFolderClick={setFolderId}\n selected={selected}\n multiple={multiple}\n toggleSelected={toggleSelected}\n onChange={onChange}\n onClose={onClose}\n />\n );\n };\n\n return (\n <>\n <Files\n multiple\n maxSize={settings ? settings.uploadMaxFileSize + \"b\" : \"1TB\"}\n multipleMaxSize={\"1TB\"}\n accept={accept}\n onSuccess={files => {\n const filesToUpload = files\n .map(file => file.src.file)\n .filter(Boolean) as File[];\n uploadFiles(filesToUpload);\n }}\n onError={errors => {\n console.log(\"onError\", errors);\n const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles }) => (\n <OverlayLayout\n onExited={onClose}\n barLeft={<Title title={listTitle} />}\n barMiddle={\n <InputSearch>\n <Icon className={searchIcon} icon={<SearchIcon />} />\n <input\n ref={searchInput}\n onChange={e => searchOnChange(e.target.value)}\n placeholder={t`Search by filename or tags`}\n disabled={!fileManager.canRead}\n data-testid={\"file-manager.search-input\"}\n />\n </InputSearch>\n }\n barRight={\n <>\n {selected.length > 0 ? (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={() => {\n (async () => {\n if (typeof onChange === \"function\") {\n await onChange(\n multiple ? selected : selected[0]\n );\n\n onClose && onClose();\n }\n })();\n }}\n >\n {t`Select`} {multiple && `(${selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles })\n )}\n <ButtonSecondary\n data-testid={\"file-manager.create-folder-button\"}\n onClick={openFoldersDialog}\n small={true}\n style={{ margin: \"0 8px\" }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Folder`}\n </ButtonSecondary>\n <Tooltip\n content={t`{mode} layout`({\n mode: listTable ? \"Grid\" : \"Table\"\n })}\n placement={\"bottom\"}\n >\n <IconButton\n icon={listTable ? <GridIcon /> : <TableIcon />}\n onClick={() => setListTable(!listTable)}\n >\n {t`Switch`}\n </IconButton>\n </Tooltip>\n </>\n }\n >\n <>\n <FileDetails\n loading={loadingFileDetails}\n file={currentFile}\n open={Boolean(showingFileDetails)}\n onClose={hideFileDetails}\n scope={scope}\n own={own}\n />\n <LeftSidebar\n title={defaultFolderName}\n currentFolder={folderId}\n onFolderClick={setFolderId}\n scope={scope}\n own={own}\n toggleTag={tag => toggleTag({ tag, listWhere })}\n />\n <FileListWrapper\n {...getDropZoneProps({\n onDragEnter: () =>\n hasPreviouslyUploadedFiles && setDragging(true)\n })}\n data-testid={\"fm-list-wrapper\"}\n >\n {dragging && hasPreviouslyUploadedFiles && (\n <DropFilesHere\n onDragLeave={() => setDragging(false)}\n onDrop={() => setDragging(false)}\n />\n )}\n <Scrollbar\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n {renderList(browseFiles)}\n </Scrollbar>\n <BottomInfoBar accept={accept} listing={isListLoadingMore} />\n <UploadStatus\n numberOfFiles={filesBeingUploaded}\n progress={progress}\n />\n </FileListWrapper>\n </>\n </OverlayLayout>\n )}\n </Files>\n <FolderDialogCreate\n type={ACO_TYPE}\n open={showFoldersDialog}\n onClose={closeFoldersDialog}\n currentParentId={folderId || null}\n />\n </>\n );\n};\n\nFileManagerAcoView.defaultProps = {\n multiple: false\n};\n\nexport default observer(FileManagerAcoView);\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ interface LeftSidebarProps {
|
|
|
6
6
|
currentFolder?: string;
|
|
7
7
|
scope?: string;
|
|
8
8
|
own?: boolean;
|
|
9
|
-
onFolderClick: (folderId
|
|
9
|
+
onFolderClick: (folderId?: string) => void;
|
|
10
10
|
}
|
|
11
11
|
declare const LeftSidebar: React.FC<LeftSidebarProps>;
|
|
12
12
|
export default LeftSidebar;
|
|
@@ -49,7 +49,7 @@ var LeftSidebar = function LeftSidebar(_ref) {
|
|
|
49
49
|
title: title,
|
|
50
50
|
focusedFolderId: currentFolder,
|
|
51
51
|
onTitleClick: function onTitleClick() {
|
|
52
|
-
return _onFolderClick(
|
|
52
|
+
return _onFolderClick(undefined);
|
|
53
53
|
},
|
|
54
54
|
onFolderClick: function onFolderClick(data) {
|
|
55
55
|
return (data === null || data === void 0 ? void 0 : data.id) && _onFolderClick(data === null || data === void 0 ? void 0 : data.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","style","leftDrawer","css","float","display","width","height","backgroundColor","borderRight","overflowY","wrapper","padding","divider","margin","LeftSidebar","title","toggleTag","currentFolder","scope","own","onFolderClick","ACO_TYPE","
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","style","leftDrawer","css","float","display","width","height","backgroundColor","borderRight","overflowY","wrapper","padding","divider","margin","LeftSidebar","title","toggleTag","currentFolder","scope","own","onFolderClick","ACO_TYPE","undefined","data","id","getTagsInitialParams","tagsModifier","tag"],"sources":["LeftSidebar.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FolderTree, TagList } from \"@webiny/app-aco\";\nimport { css } from \"emotion\";\n\nimport { getTagsInitialParams, tagsModifier } from \"~/tagsHelpers\";\nimport { ACO_TYPE } from \"~/constants\";\n\nimport { TagItem } from \"@webiny/app-aco/types\";\n\nconst t = i18n.ns(\"app-file-manager/modules/renderer/left-sidebar\");\n\nconst style = {\n leftDrawer: css({\n float: \"left\",\n display: \"block\",\n width: 269,\n height: \"calc(100vh - 64px)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n borderRight: \"1px solid var(--mdc-theme-on-background)\",\n overflowY: \"scroll\"\n }),\n wrapper: css({\n padding: \" 16px 8px\"\n }),\n divider: css({\n height: \"1px\",\n backgroundColor: \"var(--mdc-theme-on-background)\",\n margin: \"12px 8px 16px\"\n })\n};\n\ninterface LeftSidebarProps {\n title: string;\n toggleTag: (tag: TagItem) => void;\n currentFolder?: string;\n scope?: string;\n own?: boolean;\n onFolderClick: (folderId?: string) => void;\n}\n\nconst LeftSidebar: React.FC<LeftSidebarProps> = ({\n title,\n toggleTag,\n currentFolder,\n scope,\n own,\n onFolderClick\n}) => {\n return (\n <div className={style.leftDrawer}>\n <div className={style.wrapper}>\n <FolderTree\n type={ACO_TYPE}\n title={title}\n focusedFolderId={currentFolder}\n onTitleClick={() => onFolderClick(undefined)}\n onFolderClick={data => data?.id && onFolderClick(data?.id)}\n enableActions={true}\n enableCreate={true}\n />\n <div className={style.divider} />\n <TagList\n type={ACO_TYPE}\n initialWhere={getTagsInitialParams({ scope, own })}\n tagsModifier={tagsModifier(scope)}\n emptyDisclaimer={t`No tag found: once you tag a file, it will be displayed here.`}\n onTagClick={tag => toggleTag(tag)}\n />\n </div>\n </div>\n );\n};\n\nexport default LeftSidebar;\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AACA;AAEA;AACA;AAAuC;AAIvC,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,gDAAgD,CAAC;AAEnE,IAAMC,KAAK,GAAG;EACVC,UAAU,eAAE,IAAAC,YAAG,EAAC;IACZC,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE,OAAO;IAChBC,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,oBAAoB;IAC5BC,eAAe,EAAE,0BAA0B;IAC3CC,WAAW,EAAE,0CAA0C;IACvDC,SAAS,EAAE;EACf,CAAC,sBAAC;EACFC,OAAO,eAAE,IAAAR,YAAG,EAAC;IACTS,OAAO,EAAE;EACb,CAAC,mBAAC;EACFC,OAAO,eAAE,IAAAV,YAAG,EAAC;IACTI,MAAM,EAAE,KAAK;IACbC,eAAe,EAAE,gCAAgC;IACjDM,MAAM,EAAE;EACZ,CAAC;AACL,CAAC;AAWD,IAAMC,WAAuC,GAAG,SAA1CA,WAAuC,OAOvC;EAAA,IANFC,KAAK,QAALA,KAAK;IACLC,SAAS,QAATA,SAAS;IACTC,aAAa,QAAbA,aAAa;IACbC,KAAK,QAALA,KAAK;IACLC,GAAG,QAAHA,GAAG;IACHC,cAAa,QAAbA,aAAa;EAEb,oBACI;IAAK,SAAS,EAAEpB,KAAK,CAACC;EAAW,gBAC7B;IAAK,SAAS,EAAED,KAAK,CAACU;EAAQ,gBAC1B,6BAAC,kBAAU;IACP,IAAI,EAAEW,mBAAS;IACf,KAAK,EAAEN,KAAM;IACb,eAAe,EAAEE,aAAc;IAC/B,YAAY,EAAE;MAAA,OAAMG,cAAa,CAACE,SAAS,CAAC;IAAA,CAAC;IAC7C,aAAa,EAAE,uBAAAC,IAAI;MAAA,OAAI,CAAAA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,EAAE,KAAIJ,cAAa,CAACG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,EAAE,CAAC;IAAA,CAAC;IAC3D,aAAa,EAAE,IAAK;IACpB,YAAY,EAAE;EAAK,EACrB,eACF;IAAK,SAAS,EAAExB,KAAK,CAACY;EAAQ,EAAG,eACjC,6BAAC,eAAO;IACJ,IAAI,EAAES,mBAAS;IACf,YAAY,EAAE,IAAAI,iCAAoB,EAAC;MAAEP,KAAK,EAALA,KAAK;MAAEC,GAAG,EAAHA;IAAI,CAAC,CAAE;IACnD,YAAY,EAAE,IAAAO,yBAAY,EAACR,KAAK,CAAE;IAClC,eAAe,EAAErB,CAAC,gJAAgE;IAClF,UAAU,EAAE,oBAAA8B,GAAG;MAAA,OAAIX,SAAS,CAACW,GAAG,CAAC;IAAA;EAAC,EACpC,CACA,CACJ;AAEd,CAAC;AAAC,eAEab,WAAW;AAAA"}
|
package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export interface FileManagerAcoViewContextData<TFileItem extends FileItem = File
|
|
|
37
37
|
loadingFileDetails: boolean;
|
|
38
38
|
hideFileDetails: () => void;
|
|
39
39
|
folderId?: string;
|
|
40
|
-
setFolderId: (folderId
|
|
40
|
+
setFolderId: (folderId?: string) => void;
|
|
41
41
|
listTable: boolean;
|
|
42
42
|
setListTable: (mode: boolean) => void;
|
|
43
43
|
}
|
package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getWhere","scope","tag_not_startsWith","DEFAULT_SCOPE","tag_startsWith","FileManagerAcoViewContext","React","createContext","undefined","FileManagerAcoViewProvider","children","props","useSecurity","identity","fileManager","useFileManagerApi","useRecords","getRecord","useState","settings","setSettings","files","setFiles","listTable","setListTable","useReducer","stateReducer","initializeState","state","dispatch","getFile","id","fileInState","find","file","type","filter","prevFiles","fileIndex","findIndex","result","slice","getSettings","useEffect","setHasPreviouslyUploadedFiles","createFile","data","tags","addScopePrefix","meta","location","folderId","FOLDER_ID_DEFAULT","newFile","removeScopePrefix","updateFile","index","deleteFile","uploadFile","options","onProgress","map","tag","replace","value","selected","setSelected","toggleSelected","hasPreviouslyUploadedFiles","listWhere","setListWhere","listSort","setListSort","setDragging","dragging","showFileDetails","hideFileDetails","showingFileDetails","loadingFileDetails","setFolderId"],"sources":["FileManagerAcoViewContext.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Settings } from \"~/types\";\nimport { useFileManagerApi } from \"~/index\";\nimport { Action, initializeState, State, StateListWhere, stateReducer } from \"./stateReducer\";\nimport { FOLDER_ID_DEFAULT, DEFAULT_SCOPE } from \"~/constants\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport { ListDbSort } from \"@webiny/app-aco/types\";\nimport { FileManagerViewContextData } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { UploadOptions } from \"@webiny/app/types\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\nexport interface FileManagerAcoViewContextData<TFileItem extends FileItem = FileItem> {\n state: State;\n dispatch: React.Dispatch<Action>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n createFile: (data: TFileItem) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n uploadFile: (file: File, options?: UploadFileOptions) => Promise<TFileItem | undefined>;\n settings: Settings | undefined;\n selected: TFileItem[];\n setSelected: (files: TFileItem[]) => void;\n toggleSelected: (file: TFileItem) => void;\n hasPreviouslyUploadedFiles: boolean | null;\n setHasPreviouslyUploadedFiles: (flag: boolean) => void;\n listWhere: StateListWhere;\n setListWhere: (state: StateListWhere) => void;\n listSort: ListDbSort | undefined;\n setListSort: (state: ListDbSort) => void;\n dragging: boolean;\n setDragging: (state: boolean) => void;\n showFileDetails: (id: string) => void;\n showingFileDetails: string | null;\n loadingFileDetails: boolean;\n hideFileDetails: () => void;\n folderId?: string;\n setFolderId: (folderId: string | undefined) => void;\n listTable: boolean;\n setListTable: (mode: boolean) => void;\n}\n\nexport const FileManagerAcoViewContext = React.createContext<\n FileManagerAcoViewContextData | undefined\n>(undefined);\n\nexport interface FileManagerViewProviderProps {\n accept: string[];\n tags: string[];\n scope?: string;\n own?: boolean;\n children: React.ReactNode;\n}\n\ntype UploadFileOptions = Pick<UploadOptions, \"onProgress\">;\n\nexport const FileManagerAcoViewProvider = ({\n children,\n ...props\n}: FileManagerViewProviderProps) => {\n const { identity } = useSecurity();\n const fileManager = useFileManagerApi();\n const { getRecord } = useRecords();\n const [settings, setSettings] = useState<Settings | undefined>(undefined);\n const [files, setFiles] = useState<FileItem[]>([]);\n const [listTable, setListTable] = useState<boolean>(false);\n\n const [state, dispatch] = React.useReducer(stateReducer, null, () =>\n initializeState({ ...props, identity })\n );\n\n const getFile = async (id: string) => {\n const fileInState = files.find(file => file.id === id);\n\n if (fileInState) {\n return fileInState;\n }\n\n dispatch({\n type: \"loadingFileDetails\",\n state: true\n });\n\n const file = await fileManager.getFile(id);\n\n if (!file) {\n // No file found - must be deleted by previous operation\n setFiles(files => files.filter(file => file.id !== id));\n } else {\n setFiles(prevFiles => {\n const fileIndex = prevFiles.findIndex(file => file.id === id);\n\n // No record found in the list - must be added by previous operation\n if (fileIndex === -1) {\n return [...prevFiles, file];\n }\n\n // Updating record found in the list\n const result = [\n ...prevFiles.slice(0, fileIndex),\n {\n ...prevFiles[fileIndex],\n ...file\n },\n ...prevFiles.slice(fileIndex + 1)\n ];\n\n return result;\n });\n }\n\n dispatch({\n type: \"loadingFileDetails\",\n state: false\n });\n\n return file;\n };\n\n const getSettings = async () => {\n const settings = await fileManager.getSettings();\n setSettings(settings);\n };\n\n useEffect(() => {\n getSettings();\n }, []);\n\n const setHasPreviouslyUploadedFiles: FileManagerAcoViewContextData[\"setHasPreviouslyUploadedFiles\"] =\n state => {\n dispatch({ type: \"hasPreviouslyUploadedFiles\", state });\n };\n\n const createFile = async (data: FileItem) => {\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n const meta = {\n location: {\n folderId: state.folderId || FOLDER_ID_DEFAULT\n }\n };\n\n const newFile = await fileManager.createFile(data, meta);\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags || []);\n setFiles(files => [newFile, ...files]);\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(newFile.id);\n }\n return newFile;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n const file = files.find(file => file.id === id);\n if (!file) {\n return;\n }\n\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n await fileManager.updateFile(id, data);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n const newFile = {\n ...data,\n tags: removeScopePrefix(data.tags)\n };\n\n return [\n ...files.slice(0, index),\n { ...files[index], ...newFile },\n ...files.slice(index + 1)\n ];\n });\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(id);\n };\n\n const deleteFile = async (id: string) => {\n await fileManager.deleteFile(id);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n return [...files.slice(0, index), ...files.slice(index + 1)];\n });\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(id);\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param file\n * @param options\n */\n const uploadFile: FileManagerViewContextData[\"uploadFile\"] = async (file, options = {}) => {\n const tags = props.scope ? [props.scope] : [];\n const meta = {\n location: {\n folderId: state.folderId || FOLDER_ID_DEFAULT\n }\n };\n\n const newFile = await fileManager.uploadFile(file, meta, {\n tags,\n onProgress: options.onProgress\n });\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags);\n setFiles(files => [newFile, ...files]);\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(newFile.id);\n }\n return newFile;\n };\n\n const addScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags.map(tag => `${props.scope}:${tag}`);\n };\n\n const removeScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags\n .filter(tag => tag !== props.scope)\n .map(tag => {\n return props.scope ? tag.replace(`${props.scope}:`, \"\") : tag;\n });\n };\n\n const value: FileManagerAcoViewContextData = {\n state,\n dispatch,\n getFile,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n settings,\n selected: state.selected,\n setSelected(files: FileItem[]) {\n dispatch({\n type: \"setSelected\",\n files\n });\n },\n toggleSelected(file: FileItem) {\n dispatch({\n type: \"toggleSelected\",\n file\n });\n },\n hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles,\n listWhere: state.listWhere,\n setListWhere(state: StateListWhere) {\n dispatch({ type: \"listWhere\", state });\n },\n listSort: state.listSort,\n setListSort(state: ListDbSort) {\n dispatch({ type: \"listSort\", state });\n },\n setDragging(state = true) {\n dispatch({\n type: \"dragging\",\n state\n });\n },\n dragging: state.dragging,\n showFileDetails(id: string) {\n dispatch({ type: \"showFileDetails\", id });\n },\n hideFileDetails() {\n dispatch({ type: \"showFileDetails\", id: null });\n },\n showingFileDetails: state.showingFileDetails,\n loadingFileDetails: state.loadingFileDetails,\n folderId: state.folderId,\n setFolderId(state = undefined) {\n dispatch({\n type: \"setFolderId\",\n state\n });\n },\n listTable,\n setListTable\n };\n\n return (\n <FileManagerAcoViewContext.Provider value={value}>\n {children}\n </FileManagerAcoViewContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getWhere","scope","tag_not_startsWith","DEFAULT_SCOPE","tag_startsWith","FileManagerAcoViewContext","React","createContext","undefined","FileManagerAcoViewProvider","children","props","useSecurity","identity","fileManager","useFileManagerApi","useRecords","getRecord","useState","settings","setSettings","files","setFiles","listTable","setListTable","useReducer","stateReducer","initializeState","state","dispatch","getFile","id","fileInState","find","file","type","filter","prevFiles","fileIndex","findIndex","result","slice","getSettings","useEffect","setHasPreviouslyUploadedFiles","createFile","data","tags","addScopePrefix","meta","location","folderId","FOLDER_ID_DEFAULT","newFile","removeScopePrefix","updateFile","index","deleteFile","uploadFile","options","onProgress","map","tag","replace","value","selected","setSelected","toggleSelected","hasPreviouslyUploadedFiles","listWhere","setListWhere","listSort","setListSort","setDragging","dragging","showFileDetails","hideFileDetails","showingFileDetails","loadingFileDetails","setFolderId"],"sources":["FileManagerAcoViewContext.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Settings } from \"~/types\";\nimport { useFileManagerApi } from \"~/index\";\nimport { Action, initializeState, State, StateListWhere, stateReducer } from \"./stateReducer\";\nimport { FOLDER_ID_DEFAULT, DEFAULT_SCOPE } from \"~/constants\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport { ListDbSort } from \"@webiny/app-aco/types\";\nimport { FileManagerViewContextData } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { UploadOptions } from \"@webiny/app/types\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\nexport interface FileManagerAcoViewContextData<TFileItem extends FileItem = FileItem> {\n state: State;\n dispatch: React.Dispatch<Action>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n createFile: (data: TFileItem) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n uploadFile: (file: File, options?: UploadFileOptions) => Promise<TFileItem | undefined>;\n settings: Settings | undefined;\n selected: TFileItem[];\n setSelected: (files: TFileItem[]) => void;\n toggleSelected: (file: TFileItem) => void;\n hasPreviouslyUploadedFiles: boolean | null;\n setHasPreviouslyUploadedFiles: (flag: boolean) => void;\n listWhere: StateListWhere;\n setListWhere: (state: StateListWhere) => void;\n listSort: ListDbSort | undefined;\n setListSort: (state: ListDbSort) => void;\n dragging: boolean;\n setDragging: (state: boolean) => void;\n showFileDetails: (id: string) => void;\n showingFileDetails: string | null;\n loadingFileDetails: boolean;\n hideFileDetails: () => void;\n folderId?: string;\n setFolderId: (folderId?: string) => void;\n listTable: boolean;\n setListTable: (mode: boolean) => void;\n}\n\nexport const FileManagerAcoViewContext = React.createContext<\n FileManagerAcoViewContextData | undefined\n>(undefined);\n\nexport interface FileManagerViewProviderProps {\n accept: string[];\n tags: string[];\n scope?: string;\n own?: boolean;\n children: React.ReactNode;\n}\n\ntype UploadFileOptions = Pick<UploadOptions, \"onProgress\">;\n\nexport const FileManagerAcoViewProvider = ({\n children,\n ...props\n}: FileManagerViewProviderProps) => {\n const { identity } = useSecurity();\n const fileManager = useFileManagerApi();\n const { getRecord } = useRecords();\n const [settings, setSettings] = useState<Settings | undefined>(undefined);\n const [files, setFiles] = useState<FileItem[]>([]);\n const [listTable, setListTable] = useState<boolean>(false);\n\n const [state, dispatch] = React.useReducer(stateReducer, null, () =>\n initializeState({ ...props, identity })\n );\n\n const getFile = async (id: string) => {\n const fileInState = files.find(file => file.id === id);\n\n if (fileInState) {\n return fileInState;\n }\n\n dispatch({\n type: \"loadingFileDetails\",\n state: true\n });\n\n const file = await fileManager.getFile(id);\n\n if (!file) {\n // No file found - must be deleted by previous operation\n setFiles(files => files.filter(file => file.id !== id));\n } else {\n setFiles(prevFiles => {\n const fileIndex = prevFiles.findIndex(file => file.id === id);\n\n // No record found in the list - must be added by previous operation\n if (fileIndex === -1) {\n return [...prevFiles, file];\n }\n\n // Updating record found in the list\n const result = [\n ...prevFiles.slice(0, fileIndex),\n {\n ...prevFiles[fileIndex],\n ...file\n },\n ...prevFiles.slice(fileIndex + 1)\n ];\n\n return result;\n });\n }\n\n dispatch({\n type: \"loadingFileDetails\",\n state: false\n });\n\n return file;\n };\n\n const getSettings = async () => {\n const settings = await fileManager.getSettings();\n setSettings(settings);\n };\n\n useEffect(() => {\n getSettings();\n }, []);\n\n const setHasPreviouslyUploadedFiles: FileManagerAcoViewContextData[\"setHasPreviouslyUploadedFiles\"] =\n state => {\n dispatch({ type: \"hasPreviouslyUploadedFiles\", state });\n };\n\n const createFile = async (data: FileItem) => {\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n const meta = {\n location: {\n folderId: state.folderId || FOLDER_ID_DEFAULT\n }\n };\n\n const newFile = await fileManager.createFile(data, meta);\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags || []);\n setFiles(files => [newFile, ...files]);\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(newFile.id);\n }\n return newFile;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n const file = files.find(file => file.id === id);\n if (!file) {\n return;\n }\n\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n await fileManager.updateFile(id, data);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n const newFile = {\n ...data,\n tags: removeScopePrefix(data.tags)\n };\n\n return [\n ...files.slice(0, index),\n { ...files[index], ...newFile },\n ...files.slice(index + 1)\n ];\n });\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(id);\n };\n\n const deleteFile = async (id: string) => {\n await fileManager.deleteFile(id);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n return [...files.slice(0, index), ...files.slice(index + 1)];\n });\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(id);\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param file\n * @param options\n */\n const uploadFile: FileManagerViewContextData[\"uploadFile\"] = async (file, options = {}) => {\n const tags = props.scope ? [props.scope] : [];\n const meta = {\n location: {\n folderId: state.folderId || FOLDER_ID_DEFAULT\n }\n };\n\n const newFile = await fileManager.uploadFile(file, meta, {\n tags,\n onProgress: options.onProgress\n });\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags);\n setFiles(files => [newFile, ...files]);\n\n // Sync ACO record - retrieve the most updated record from network\n await getRecord(newFile.id);\n }\n return newFile;\n };\n\n const addScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags.map(tag => `${props.scope}:${tag}`);\n };\n\n const removeScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags\n .filter(tag => tag !== props.scope)\n .map(tag => {\n return props.scope ? tag.replace(`${props.scope}:`, \"\") : tag;\n });\n };\n\n const value: FileManagerAcoViewContextData = {\n state,\n dispatch,\n getFile,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n settings,\n selected: state.selected,\n setSelected(files: FileItem[]) {\n dispatch({\n type: \"setSelected\",\n files\n });\n },\n toggleSelected(file: FileItem) {\n dispatch({\n type: \"toggleSelected\",\n file\n });\n },\n hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles,\n listWhere: state.listWhere,\n setListWhere(state: StateListWhere) {\n dispatch({ type: \"listWhere\", state });\n },\n listSort: state.listSort,\n setListSort(state: ListDbSort) {\n dispatch({ type: \"listSort\", state });\n },\n setDragging(state = true) {\n dispatch({\n type: \"dragging\",\n state\n });\n },\n dragging: state.dragging,\n showFileDetails(id: string) {\n dispatch({ type: \"showFileDetails\", id });\n },\n hideFileDetails() {\n dispatch({ type: \"showFileDetails\", id: null });\n },\n showingFileDetails: state.showingFileDetails,\n loadingFileDetails: state.loadingFileDetails,\n folderId: state.folderId,\n setFolderId(state = undefined) {\n dispatch({\n type: \"setFolderId\",\n state\n });\n },\n listTable,\n setListTable\n };\n\n return (\n <FileManagerAcoViewContext.Provider value={value}>\n {children}\n </FileManagerAcoViewContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export interface StateListWhere extends BaseStateListWhere {
|
|
|
12
12
|
AND?: BaseStateListWhere[];
|
|
13
13
|
}
|
|
14
14
|
export interface State {
|
|
15
|
-
folderId
|
|
15
|
+
folderId?: string;
|
|
16
16
|
showingFileDetails: string | null;
|
|
17
17
|
loadingFileDetails: boolean;
|
|
18
18
|
selected: FileItem[];
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.stateReducer = exports.initializeState = exports.getScopeWhereParams = exports.getMimeTypeWhereParams = void 0;
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
-
var _constants = require("../../../constants");
|
|
10
9
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
11
10
|
var DEFAULT_SCOPE = "scope:";
|
|
12
11
|
var getScopeWhereParams = function getScopeWhereParams(scope) {
|
|
@@ -37,7 +36,7 @@ var initializeState = function initializeState(_ref) {
|
|
|
37
36
|
own = _ref.own,
|
|
38
37
|
identity = _ref.identity;
|
|
39
38
|
return {
|
|
40
|
-
folderId:
|
|
39
|
+
folderId: undefined,
|
|
41
40
|
showingFileDetails: null,
|
|
42
41
|
loadingFileDetails: false,
|
|
43
42
|
selected: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_SCOPE","getScopeWhereParams","scope","tags_not_startsWith","tags_startsWith","getMimeTypeWhereParams","mimes","length","tags_in","map","mime","initializeState","accept","own","identity","folderId","
|
|
1
|
+
{"version":3,"names":["DEFAULT_SCOPE","getScopeWhereParams","scope","tags_not_startsWith","tags_startsWith","getMimeTypeWhereParams","mimes","length","tags_in","map","mime","initializeState","accept","own","identity","folderId","undefined","showingFileDetails","loadingFileDetails","selected","hasPreviouslyUploadedFiles","listWhere","search","createdBy","id","AND","listSort","dragging","stateReducer","state","action","next","type","files","existingIndex","findIndex","item","src","file","push","splice","isEqual"],"sources":["stateReducer.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport { ListDbSort } from \"@webiny/app-aco/types\";\nimport isEqual from \"lodash/isEqual\";\n\ninterface BaseStateListWhere {\n tags_in?: string[];\n tags_startsWith?: string;\n tags_not_startsWith?: string;\n}\n\nexport interface StateListWhere extends BaseStateListWhere {\n folderId?: string;\n search?: string;\n createdBy?: string;\n AND?: BaseStateListWhere[];\n}\n\nexport interface State {\n folderId?: string;\n showingFileDetails: string | null;\n loadingFileDetails: boolean;\n selected: FileItem[];\n hasPreviouslyUploadedFiles: boolean | null;\n listWhere: StateListWhere;\n listSort?: ListDbSort;\n dragging: boolean;\n}\n\nexport type Action =\n | {\n type: \"setFolderId\";\n state: string | undefined;\n }\n | {\n type: \"toggleSelected\";\n file: FileItem;\n }\n | {\n type: \"setSelected\";\n files: FileItem[];\n }\n | {\n type: \"listWhere\";\n state: StateListWhere;\n }\n | {\n type: \"listSort\";\n state: ListDbSort;\n }\n | {\n type: \"showFileDetails\";\n id: string | null;\n }\n | {\n type: \"loadingFileDetails\";\n state: boolean;\n }\n | {\n type: \"dragging\";\n state: boolean;\n }\n | {\n type: \"hasPreviouslyUploadedFiles\";\n state: boolean;\n };\n\ninterface Reducer {\n (prev: State, action: Action): State;\n}\n\ninterface InitParams {\n accept?: string[];\n tags?: string[];\n scope?: string;\n own?: boolean;\n identity: any;\n}\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getScopeWhereParams = (scope: string | undefined) => {\n if (!scope) {\n return {\n tags_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tags_startsWith: scope\n };\n};\n\nexport const getMimeTypeWhereParams = (mimes: string[] | undefined) => {\n if (!mimes || !mimes.length) {\n return;\n }\n\n return {\n tags_in: mimes.map(mime => `mime:${mime}`)\n };\n};\n\nexport const initializeState = ({ accept, scope, own, identity }: InitParams): State => {\n return {\n folderId: undefined,\n showingFileDetails: null,\n loadingFileDetails: false,\n selected: [],\n hasPreviouslyUploadedFiles: null,\n listWhere: {\n ...getScopeWhereParams(scope),\n ...getMimeTypeWhereParams(accept),\n search: undefined,\n createdBy: own ? identity.id : undefined,\n AND: undefined\n },\n listSort: {},\n dragging: false\n };\n};\n\nexport const stateReducer: Reducer = (state: State, action) => {\n const next: State = {\n ...state\n };\n switch (action.type) {\n case \"setFolderId\": {\n next.folderId = action.state;\n next.listWhere = {\n ...state.listWhere,\n folderId: action.state\n };\n break;\n }\n case \"setSelected\": {\n next.selected = action.files;\n break;\n }\n case \"toggleSelected\": {\n const existingIndex = state.selected.findIndex(item => item.src === action.file.src);\n if (existingIndex < 0) {\n next.selected.push(action.file);\n } else {\n next.selected.splice(existingIndex, 1);\n }\n break;\n }\n case \"listWhere\": {\n next.selected = [];\n next.listWhere = {\n ...state.listWhere,\n ...action.state\n };\n break;\n }\n case \"listSort\": {\n if (!isEqual(state.listSort, action.state)) {\n next.listSort = action.state;\n }\n break;\n }\n case \"showFileDetails\": {\n next.showingFileDetails = action.id;\n break;\n }\n case \"loadingFileDetails\": {\n next.loadingFileDetails = action.state;\n break;\n }\n case \"dragging\": {\n next.dragging = action.state;\n break;\n }\n case \"hasPreviouslyUploadedFiles\": {\n next.hasPreviouslyUploadedFiles = action.state;\n break;\n }\n }\n\n return next;\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.36.0",
|
|
3
|
+
"version": "5.36.1-beta.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,14 +17,14 @@
|
|
|
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.36.0",
|
|
21
|
-
"@webiny/app-aco": "5.36.0",
|
|
22
|
-
"@webiny/app-admin": "5.36.0",
|
|
23
|
-
"@webiny/app-security": "5.36.0",
|
|
24
|
-
"@webiny/form": "5.36.0",
|
|
25
|
-
"@webiny/plugins": "5.36.0",
|
|
26
|
-
"@webiny/ui": "5.36.0",
|
|
27
|
-
"@webiny/validation": "5.36.0",
|
|
20
|
+
"@webiny/app": "5.36.1-beta.0",
|
|
21
|
+
"@webiny/app-aco": "5.36.1-beta.0",
|
|
22
|
+
"@webiny/app-admin": "5.36.1-beta.0",
|
|
23
|
+
"@webiny/app-security": "5.36.1-beta.0",
|
|
24
|
+
"@webiny/form": "5.36.1-beta.0",
|
|
25
|
+
"@webiny/plugins": "5.36.1-beta.0",
|
|
26
|
+
"@webiny/ui": "5.36.1-beta.0",
|
|
27
|
+
"@webiny/validation": "5.36.1-beta.0",
|
|
28
28
|
"apollo-cache": "1.3.5",
|
|
29
29
|
"apollo-client": "2.6.10",
|
|
30
30
|
"apollo-link": "1.2.14",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"@babel/preset-react": "7.18.6",
|
|
60
60
|
"@babel/preset-typescript": "7.18.6",
|
|
61
61
|
"@svgr/webpack": "6.5.1",
|
|
62
|
-
"@webiny/cli": "5.36.0",
|
|
63
|
-
"@webiny/project-utils": "5.36.0",
|
|
62
|
+
"@webiny/cli": "5.36.1-beta.0",
|
|
63
|
+
"@webiny/project-utils": "5.36.1-beta.0",
|
|
64
64
|
"rimraf": "3.0.2",
|
|
65
65
|
"ttypescript": "1.5.15",
|
|
66
66
|
"typescript": "4.7.4"
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"build": "yarn webiny run build",
|
|
74
74
|
"watch": "yarn webiny run watch"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "5c0feb9439367d0e20b2e3bfd4828d0e6e9d9ef0"
|
|
77
77
|
}
|