@webiny/app-file-manager 5.41.4 → 5.42.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BatchFileUploader.js.map +1 -1
- package/components/BottomInfoBar/SupportedFileTypes.js +4 -4
- package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/BulkActions/ActionDelete.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -1
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Batch.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/FieldMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/useActionEditWorker.js.map +1 -1
- package/components/BulkActions/ActionMove.js.map +1 -1
- package/components/BulkActions/BulkActions.js.map +1 -1
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js.map +1 -1
- package/components/EditFileUsingUrl/GetFileByUrl.js.map +1 -1
- package/components/EditFileUsingUrl/Loading.js.map +1 -1
- package/components/EditFileUsingUrl/UpdateFile.js.map +1 -1
- package/components/Empty/Empty.js.map +1 -1
- package/components/LayoutSwitch/LayoutSwitch.js.map +1 -1
- package/components/Table/Actions/EditFile.js.map +1 -1
- package/components/Table/Cells/CellName.js.map +1 -1
- package/components/fields/AccessControl.js.map +1 -1
- package/hooks/useMoveFileToFolder.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/Download.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/EditImage.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/Grid/Download.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/index.js +13 -3
- package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +3 -3
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +41 -5
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +2 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +7 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
- package/modules/FileManagerRenderer/filters/FilterByType.js.map +1 -1
- package/modules/HeadlessCms/fileField.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/File.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -1
- package/modules/Settings/plugins/installation.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -1
- package/modules/Settings/views/FileManagerSettings.js.map +1 -1
- package/package.json +24 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getFileByUrl","require","GetFileByUrl","exports","client","model","_classCallCheck2","default","query","getFileByUrlQuery","_createClass2","key","value","execute","url","response","variables","fetchPolicy","_response$data$fileMa","data","fileManager","getFileByUrl","error","Error","message"],"sources":["GetFileByUrl.ts"],"sourcesContent":["import ApolloClient from \"apollo-client\";\nimport { DocumentNode } from \"graphql\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { IGetFileByUrl } from \"./EditFileUsingUrlRepository\";\nimport { getFileByUrlQuery } from \"./getFileByUrl.graphql\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\n\nexport class GetFileByUrl implements IGetFileByUrl {\n private client: ApolloClient<unknown>;\n private readonly query: DocumentNode;\n\n constructor(client: ApolloClient<unknown>, model: ReturnType<typeof useFileModel>) {\n this.client = client;\n this.query = getFileByUrlQuery(model);\n }\n\n async execute(url: string): Promise<FileItem> {\n // TODO: add query type\n const response = await this.client.query({\n query: this.query,\n variables: { url },\n fetchPolicy: \"network-only\"\n });\n\n const { data, error } = response.data.fileManager.getFileByUrl;\n if (error) {\n throw new Error(error.message);\n }\n\n return data;\n }\n}\n"],"mappings":";;;;;;;;;AAIA,IAAAA,aAAA,GAAAC,OAAA;AAA2D,IAG9CC,YAAY,GAAAC,OAAA,CAAAD,YAAA;EAIrB,SAAAA,aAAYE,MAA6B,EAAEC,KAAsC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,YAAA;IAC/E,IAAI,CAACE,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACI,KAAK,GAAG,IAAAC,+BAAiB,EAACJ,KAAK,CAAC;EACzC;EAAC,WAAAK,aAAA,CAAAH,OAAA,EAAAL,YAAA;IAAAS,GAAA;IAAAC,KAAA,EAED,
|
|
1
|
+
{"version":3,"names":["_getFileByUrl","require","GetFileByUrl","exports","client","model","_classCallCheck2","default","query","getFileByUrlQuery","_createClass2","key","value","execute","url","response","variables","fetchPolicy","_response$data$fileMa","data","fileManager","getFileByUrl","error","Error","message"],"sources":["GetFileByUrl.ts"],"sourcesContent":["import ApolloClient from \"apollo-client\";\nimport { DocumentNode } from \"graphql\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { IGetFileByUrl } from \"./EditFileUsingUrlRepository\";\nimport { getFileByUrlQuery } from \"./getFileByUrl.graphql\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\n\nexport class GetFileByUrl implements IGetFileByUrl {\n private client: ApolloClient<unknown>;\n private readonly query: DocumentNode;\n\n constructor(client: ApolloClient<unknown>, model: ReturnType<typeof useFileModel>) {\n this.client = client;\n this.query = getFileByUrlQuery(model);\n }\n\n async execute(url: string): Promise<FileItem> {\n // TODO: add query type\n const response = await this.client.query({\n query: this.query,\n variables: { url },\n fetchPolicy: \"network-only\"\n });\n\n const { data, error } = response.data.fileManager.getFileByUrl;\n if (error) {\n throw new Error(error.message);\n }\n\n return data;\n }\n}\n"],"mappings":";;;;;;;;;AAIA,IAAAA,aAAA,GAAAC,OAAA;AAA2D,IAG9CC,YAAY,GAAAC,OAAA,CAAAD,YAAA;EAIrB,SAAAA,aAAYE,MAA6B,EAAEC,KAAsC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,YAAA;IAC/E,IAAI,CAACE,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACI,KAAK,GAAG,IAAAC,+BAAiB,EAACJ,KAAK,CAAC;EACzC;EAAC,WAAAK,aAAA,CAAAH,OAAA,EAAAL,YAAA;IAAAS,GAAA;IAAAC,KAAA,EAED,eAAMC,OAAOA,CAACC,GAAW,EAAqB;MAC1C;MACA,IAAMC,QAAQ,GAAG,MAAM,IAAI,CAACX,MAAM,CAACI,KAAK,CAAC;QACrCA,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBQ,SAAS,EAAE;UAAEF,GAAG,EAAHA;QAAI,CAAC;QAClBG,WAAW,EAAE;MACjB,CAAC,CAAC;MAEF,IAAAC,qBAAA,GAAwBH,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACC,YAAY;QAAtDF,IAAI,GAAAD,qBAAA,CAAJC,IAAI;QAAEG,KAAK,GAAAJ,qBAAA,CAALI,KAAK;MACnB,IAAIA,KAAK,EAAE;QACP,MAAM,IAAIC,KAAK,CAACD,KAAK,CAACE,OAAO,CAAC;MAClC;MAEA,OAAOL,IAAI;IACf;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","LOADING_STATE","exports","Loading","_classCallCheck2","default","_isLoading","_state","IDLE","_feedback","makeAutoObservable","_createClass2","key","value","startLoading","state","stopLoadingWithSuccess","message","stopLoadingWithError","ERROR","get"],"sources":["Loading.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nexport enum LOADING_STATE {\n IDLE = \"IDLE\",\n GET_FILE = \"GET_FILE\",\n UPDATE_FILE = \"UPDATE_FILE\",\n ERROR = \"ERROR\"\n}\n\nexport class Loading {\n private _isLoading: boolean;\n private _state: LOADING_STATE;\n private _feedback: string;\n\n constructor() {\n this._isLoading = false;\n this._state = LOADING_STATE.IDLE;\n this._feedback = \"\";\n makeAutoObservable(this);\n }\n\n startLoading(state: LOADING_STATE) {\n this._isLoading = true;\n this._state = state;\n this._feedback = \"\";\n }\n\n stopLoadingWithSuccess(message?: string) {\n this._isLoading = false;\n this._state = LOADING_STATE.IDLE;\n this._feedback = message || \"\";\n }\n\n stopLoadingWithError(message?: string) {\n this._isLoading = false;\n this._state = LOADING_STATE.ERROR;\n this._feedback = message || \"\";\n }\n\n get isLoading() {\n return this._isLoading;\n }\n\n get state() {\n return this._state;\n }\n\n get feedback() {\n return this._feedback;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAA0C,IAE9BC,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAOZE,OAAO,GAAAD,OAAA,CAAAC,OAAA;EAKhB,SAAAA,QAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,OAAA;IACV,IAAI,CAACG,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,MAAM,GAAGN,aAAa,CAACO,IAAI;IAChC,IAAI,CAACC,SAAS,GAAG,EAAE;IACnB,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,WAAAC,aAAA,CAAAN,OAAA,EAAAF,OAAA;IAAAS,GAAA;IAAAC,KAAA,EAED,SAAAC,
|
|
1
|
+
{"version":3,"names":["_mobx","require","LOADING_STATE","exports","Loading","_classCallCheck2","default","_isLoading","_state","IDLE","_feedback","makeAutoObservable","_createClass2","key","value","startLoading","state","stopLoadingWithSuccess","message","stopLoadingWithError","ERROR","get"],"sources":["Loading.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nexport enum LOADING_STATE {\n IDLE = \"IDLE\",\n GET_FILE = \"GET_FILE\",\n UPDATE_FILE = \"UPDATE_FILE\",\n ERROR = \"ERROR\"\n}\n\nexport class Loading {\n private _isLoading: boolean;\n private _state: LOADING_STATE;\n private _feedback: string;\n\n constructor() {\n this._isLoading = false;\n this._state = LOADING_STATE.IDLE;\n this._feedback = \"\";\n makeAutoObservable(this);\n }\n\n startLoading(state: LOADING_STATE) {\n this._isLoading = true;\n this._state = state;\n this._feedback = \"\";\n }\n\n stopLoadingWithSuccess(message?: string) {\n this._isLoading = false;\n this._state = LOADING_STATE.IDLE;\n this._feedback = message || \"\";\n }\n\n stopLoadingWithError(message?: string) {\n this._isLoading = false;\n this._state = LOADING_STATE.ERROR;\n this._feedback = message || \"\";\n }\n\n get isLoading() {\n return this._isLoading;\n }\n\n get state() {\n return this._state;\n }\n\n get feedback() {\n return this._feedback;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAA0C,IAE9BC,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAOZE,OAAO,GAAAD,OAAA,CAAAC,OAAA;EAKhB,SAAAA,QAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,OAAA;IACV,IAAI,CAACG,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,MAAM,GAAGN,aAAa,CAACO,IAAI;IAChC,IAAI,CAACC,SAAS,GAAG,EAAE;IACnB,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,WAAAC,aAAA,CAAAN,OAAA,EAAAF,OAAA;IAAAS,GAAA;IAAAC,KAAA,EAED,SAAAC,YAAYA,CAACC,KAAoB,EAAE;MAC/B,IAAI,CAACT,UAAU,GAAG,IAAI;MACtB,IAAI,CAACC,MAAM,GAAGQ,KAAK;MACnB,IAAI,CAACN,SAAS,GAAG,EAAE;IACvB;EAAC;IAAAG,GAAA;IAAAC,KAAA,EAED,SAAAG,sBAAsBA,CAACC,OAAgB,EAAE;MACrC,IAAI,CAACX,UAAU,GAAG,KAAK;MACvB,IAAI,CAACC,MAAM,GAAGN,aAAa,CAACO,IAAI;MAChC,IAAI,CAACC,SAAS,GAAGQ,OAAO,IAAI,EAAE;IAClC;EAAC;IAAAL,GAAA;IAAAC,KAAA,EAED,SAAAK,oBAAoBA,CAACD,OAAgB,EAAE;MACnC,IAAI,CAACX,UAAU,GAAG,KAAK;MACvB,IAAI,CAACC,MAAM,GAAGN,aAAa,CAACkB,KAAK;MACjC,IAAI,CAACV,SAAS,GAAGQ,OAAO,IAAI,EAAE;IAClC;EAAC;IAAAL,GAAA;IAAAQ,GAAA,EAED,SAAAA,IAAA,EAAgB;MACZ,OAAO,IAAI,CAACd,UAAU;IAC1B;EAAC;IAAAM,GAAA;IAAAQ,GAAA,EAED,SAAAA,IAAA,EAAY;MACR,OAAO,IAAI,CAACb,MAAM;IACtB;EAAC;IAAAK,GAAA;IAAAQ,GAAA,EAED,SAAAA,IAAA,EAAe;MACX,OAAO,IAAI,CAACX,SAAS;IACzB;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpdateFile","exports","fileApi","_classCallCheck2","default","_createClass2","key","value","execute","id","file","updateFile"],"sources":["UpdateFile.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { IUpdateFile } from \"./EditFileUsingUrlRepository\";\n\ntype FileManagerApi = ReturnType<typeof useFileManagerApi>;\n\nexport class UpdateFile implements IUpdateFile {\n private fileApi: FileManagerApi;\n\n constructor(fileApi: FileManagerApi) {\n this.fileApi = fileApi;\n }\n\n async execute(id: string, file: Partial<FileItem>): Promise<void> {\n return this.fileApi.updateFile(id, file);\n }\n}\n"],"mappings":";;;;;;;;;IAMaA,UAAU,GAAAC,OAAA,CAAAD,UAAA;EAGnB,SAAAA,WAAYE,OAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,UAAA;IACjC,IAAI,CAACE,OAAO,GAAGA,OAAO;EAC1B;EAAC,WAAAG,aAAA,CAAAD,OAAA,EAAAJ,UAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,
|
|
1
|
+
{"version":3,"names":["UpdateFile","exports","fileApi","_classCallCheck2","default","_createClass2","key","value","execute","id","file","updateFile"],"sources":["UpdateFile.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { IUpdateFile } from \"./EditFileUsingUrlRepository\";\n\ntype FileManagerApi = ReturnType<typeof useFileManagerApi>;\n\nexport class UpdateFile implements IUpdateFile {\n private fileApi: FileManagerApi;\n\n constructor(fileApi: FileManagerApi) {\n this.fileApi = fileApi;\n }\n\n async execute(id: string, file: Partial<FileItem>): Promise<void> {\n return this.fileApi.updateFile(id, file);\n }\n}\n"],"mappings":";;;;;;;;;IAMaA,UAAU,GAAAC,OAAA,CAAAD,UAAA;EAGnB,SAAAA,WAAYE,OAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,UAAA;IACjC,IAAI,CAACE,OAAO,GAAGA,OAAO;EAC1B;EAAC,WAAAG,aAAA,CAAAD,OAAA,EAAAJ,UAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,eAAMC,OAAOA,CAACC,EAAU,EAAEC,IAAuB,EAAiB;MAC9D,OAAO,IAAI,CAACR,OAAO,CAACS,UAAU,CAACF,EAAE,EAAEC,IAAI,CAAC;IAC5C;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_","_NoPermission","_NoResults","_DropFilesHere","Empty","exports","_ref","browseFiles","isSearchResult","_useFileManagerApi","useFileManagerApi","canRead","default","createElement","NoPermission","NoResults","DropFilesHere","empty","onClick"],"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 = ({ browseFiles, isSearchResult }: EmptyViewProps) => {\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,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG,SAARA,KAAKA,CAAAE,IAAA,EAAwD;EAAA,IAAlDC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAC/C,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EAEf,IAAI,CAACA,OAAO,EAAE;IACV,oBAAOd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,aAAA,CAAAa,YAAY,MAAE,CAAC;EAC3B;EACA,IAAIN,cAAc,EAAE;IAChB,oBAAOX,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,UAAA,CAAAa,SAAS,MAAE,CAAC;EACxB;EAEA,oBAAOlB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACV,cAAA,CAAAa,aAAa;IAACC,KAAK;IAACC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_","_NoPermission","_NoResults","_DropFilesHere","Empty","exports","_ref","browseFiles","isSearchResult","_useFileManagerApi","useFileManagerApi","canRead","default","createElement","NoPermission","NoResults","DropFilesHere","empty","onClick"],"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 = ({ browseFiles, isSearchResult }: EmptyViewProps) => {\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,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG,SAARA,KAAKA,CAAAE,IAAA,EAAwD;EAAA,IAAlDC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAC/C,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EAEf,IAAI,CAACA,OAAO,EAAE;IACV,oBAAOd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,aAAA,CAAAa,YAAY,MAAE,CAAC;EAC3B;EACA,IAAIN,cAAc,EAAE;IAChB,oBAAOX,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,UAAA,CAAAa,SAAS,MAAE,CAAC;EACxB;EAEA,oBAAOlB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACV,cAAA,CAAAa,aAAa;IAACC,KAAK;IAACC,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQX,WAAW,CAAC,CAAC;IAAA;EAAC,CAAE,CAAC;AAChE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_view_module","_view_list","_i18n","_Button","_Tooltip","_FileManagerViewProvider","_templateObject","_templateObject2","t","i18n","ns","LayoutSwitch","exports","view","useFileManagerView","default","createElement","Tooltip","content","_taggedTemplateLiteral2","mode","listTable","placement","IconButton","icon","ReactComponent","onClick","setListTable"],"sources":["LayoutSwitch.tsx"],"sourcesContent":["import React from \"react\";\n\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 { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nconst t = i18n.ns(\"app-file-manager/components/layout-switch\");\n\nexport const LayoutSwitch = () => {\n const view = useFileManagerView();\n\n return (\n <Tooltip\n content={t`{mode} layout`({\n mode: view.listTable ? \"Grid\" : \"Table\"\n })}\n placement={\"bottom\"}\n >\n <IconButton\n icon={view.listTable ? <GridIcon /> : <TableIcon />}\n onClick={() => view.setListTable(!view.listTable)}\n >\n {t`Switch`}\n </IconButton>\n </Tooltip>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,wBAAA,GAAAN,OAAA;AAA2F,IAAAO,eAAA,EAAAC,gBAAA;AAE3F,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,2CAA2C,CAAC;AAEvD,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAC9B,IAAME,IAAI,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EAEjC,oBACIjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACZ,QAAA,CAAAa,OAAO;IACJC,OAAO,EAAEV,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAa,uBAAA,CAAAJ,OAAA,uBAAgB;MACtBK,IAAI,EAAEP,IAAI,CAACQ,SAAS,GAAG,MAAM,GAAG;IACpC,CAAC,CAAE;IACHC,SAAS,EAAE;EAAS,gBAEpBzB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAoB,UAAU;IACPC,IAAI,EAAEX,IAAI,CAACQ,SAAS,gBAAGxB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,YAAA,CAAAyB,cAAQ,MAAE,CAAC,gBAAG5B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAAwB,cAAS,MAAE,CAAE;IACpDC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_view_module","_view_list","_i18n","_Button","_Tooltip","_FileManagerViewProvider","_templateObject","_templateObject2","t","i18n","ns","LayoutSwitch","exports","view","useFileManagerView","default","createElement","Tooltip","content","_taggedTemplateLiteral2","mode","listTable","placement","IconButton","icon","ReactComponent","onClick","setListTable"],"sources":["LayoutSwitch.tsx"],"sourcesContent":["import React from \"react\";\n\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 { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nconst t = i18n.ns(\"app-file-manager/components/layout-switch\");\n\nexport const LayoutSwitch = () => {\n const view = useFileManagerView();\n\n return (\n <Tooltip\n content={t`{mode} layout`({\n mode: view.listTable ? \"Grid\" : \"Table\"\n })}\n placement={\"bottom\"}\n >\n <IconButton\n icon={view.listTable ? <GridIcon /> : <TableIcon />}\n onClick={() => view.setListTable(!view.listTable)}\n >\n {t`Switch`}\n </IconButton>\n </Tooltip>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAEA,IAAAM,wBAAA,GAAAN,OAAA;AAA2F,IAAAO,eAAA,EAAAC,gBAAA;AAE3F,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,2CAA2C,CAAC;AAEvD,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAC9B,IAAME,IAAI,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EAEjC,oBACIjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACZ,QAAA,CAAAa,OAAO;IACJC,OAAO,EAAEV,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAa,uBAAA,CAAAJ,OAAA,uBAAgB;MACtBK,IAAI,EAAEP,IAAI,CAACQ,SAAS,GAAG,MAAM,GAAG;IACpC,CAAC,CAAE;IACHC,SAAS,EAAE;EAAS,gBAEpBzB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,OAAA,CAAAoB,UAAU;IACPC,IAAI,EAAEX,IAAI,CAACQ,SAAS,gBAAGxB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,YAAA,CAAAyB,cAAQ,MAAE,CAAC,gBAAG5B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAAwB,cAAS,MAAE,CAAE;IACpDC,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQb,IAAI,CAACc,YAAY,CAAC,CAACd,IAAI,CAACQ,SAAS,CAAC;IAAA;EAAC,GAEjDb,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAY,uBAAA,CAAAJ,OAAA,eACM,CACP,CAAC;AAElB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_edit","_FileManagerViewConfig","_FileManagerViewProvider","_useFile2","EditFile","exports","_useFile","useFile","file","_useFileManagerView","useFileManagerView","showFileDetails","OptionsMenuItem","FileManagerViewConfig","Browser","FileAction","default","createElement","icon","ReactComponent","label","onAction","id"],"sources":["EditFile.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as Edit } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { useFile } from \"~/hooks/useFile\";\n\nexport const EditFile = () => {\n const { file } = useFile();\n const { showFileDetails } = useFileManagerView();\n const { OptionsMenuItem } = FileManagerViewConfig.Browser.FileAction;\n\n return (\n <OptionsMenuItem\n icon={<Edit />}\n label={\"Edit\"}\n onAction={() => showFileDetails(file.id)}\n data-testid={\"aco.actions.file.edit\"}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEO,IAAMK,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,iBAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EACZ,IAAAC,mBAAA,GAA4B,IAAAC,2CAAkB,EAAC,CAAC;IAAxCC,eAAe,GAAAF,mBAAA,CAAfE,eAAe;EACvB,IAAQC,eAAe,GAAKC,4CAAqB,CAACC,OAAO,CAACC,UAAU,CAA5DH,eAAe;EAEvB,oBACIf,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACL,eAAe;IACZM,IAAI,eAAErB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACjB,KAAA,CAAAmB,cAAI,MAAE,CAAE;IACfC,KAAK,EAAE,MAAO;IACdC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_edit","_FileManagerViewConfig","_FileManagerViewProvider","_useFile2","EditFile","exports","_useFile","useFile","file","_useFileManagerView","useFileManagerView","showFileDetails","OptionsMenuItem","FileManagerViewConfig","Browser","FileAction","default","createElement","icon","ReactComponent","label","onAction","id"],"sources":["EditFile.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as Edit } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { useFile } from \"~/hooks/useFile\";\n\nexport const EditFile = () => {\n const { file } = useFile();\n const { showFileDetails } = useFileManagerView();\n const { OptionsMenuItem } = FileManagerViewConfig.Browser.FileAction;\n\n return (\n <OptionsMenuItem\n icon={<Edit />}\n label={\"Edit\"}\n onAction={() => showFileDetails(file.id)}\n data-testid={\"aco.actions.file.edit\"}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEO,IAAMK,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,iBAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EACZ,IAAAC,mBAAA,GAA4B,IAAAC,2CAAkB,EAAC,CAAC;IAAxCC,eAAe,GAAAF,mBAAA,CAAfE,eAAe;EACvB,IAAQC,eAAe,GAAKC,4CAAqB,CAACC,OAAO,CAACC,UAAU,CAA5DH,eAAe;EAEvB,oBACIf,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACL,eAAe;IACZM,IAAI,eAAErB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACjB,KAAA,CAAAmB,cAAI,MAAE,CAAE;IACfC,KAAK,EAAE,MAAO;IACdC,QAAQ,EAAE,SAAVA,QAAQA,CAAA;MAAA,OAAQV,eAAe,CAACH,IAAI,CAACc,EAAE,CAAC;IAAA,CAAC;IACzC,eAAa;EAAwB,CACxC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_folder","_folder_shared","_insert_photo","_description","_Cells","_FileManagerViewProvider","_FileManagerViewConfig","FolderCellName","exports","_ref","folder","onClick","icon","default","createElement","ReactComponent","hasNonInheritedPermissions","canManagePermissions","RowTitle","id","RowIcon","RowText","use","title","FileCellName","_ref2","file","type","includes","name","CellName","_FileManagerViewConfi","FileManagerViewConfig","Browser","Table","Column","useTableRow","isFolderRow","_useTableRow","row","_useFileManagerView","useFileManagerView","showFileDetails","setFolderId"],"sources":["CellName.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ReactComponent as Folder } from \"@material-design-icons/svg/outlined/folder.svg\";\nimport { ReactComponent as FolderShared } from \"@material-design-icons/svg/outlined/folder_shared.svg\";\nimport { ReactComponent as Image } from \"@material-design-icons/svg/outlined/insert_photo.svg\";\nimport { ReactComponent as File } from \"@material-design-icons/svg/outlined/description.svg\";\n\nimport { RowIcon, RowText, RowTitle } from \"./Cells.styled\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { FileTableItem } from \"~/types\";\nimport { FolderTableItem } from \"@webiny/app-aco/types\";\n\ninterface DefaultProps {\n onClick: (id: string) => void;\n}\n\ninterface FolderCellNameProps extends DefaultProps {\n folder: FolderTableItem;\n}\n\nexport const FolderCellName = ({ folder, onClick }: FolderCellNameProps) => {\n let icon = <Folder />;\n if (folder.hasNonInheritedPermissions && folder.canManagePermissions) {\n icon = <FolderShared />;\n }\n\n return (\n <RowTitle onClick={() => onClick(folder.id)}>\n <RowIcon>{icon}</RowIcon>\n <RowText use={\"subtitle2\"}>{folder.title}</RowText>\n </RowTitle>\n );\n};\n\ninterface FileCellNameProps extends DefaultProps {\n file: FileTableItem;\n}\n\nexport const FileCellName = ({ file, onClick }: FileCellNameProps) => {\n return (\n <RowTitle onClick={() => onClick(file.id)}>\n <RowIcon>{file.type && file.type.includes(\"image\") ? <Image /> : <File />}</RowIcon>\n <RowText use={\"subtitle2\"}>{file.name}</RowText>\n </RowTitle>\n );\n};\n\nexport const CellName = () => {\n const { useTableRow, isFolderRow } = FileManagerViewConfig.Browser.Table.Column;\n const { row } = useTableRow();\n const { showFileDetails, setFolderId } = useFileManagerView();\n\n if (isFolderRow(row)) {\n return <FolderCellName folder={row} onClick={setFolderId} />;\n }\n\n return <FileCellName file={row} onClick={showFileDetails} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,wBAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AAYO,IAAMQ,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAAE,IAAA,EAAiD;EAAA,IAA3CC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,QAAO,GAAAF,IAAA,CAAPE,OAAO;EAC5C,IAAIC,IAAI,gBAAGf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,OAAA,CAAAe,cAAM,MAAE,CAAC;EACrB,IAAIL,MAAM,CAACM,0BAA0B,IAAIN,MAAM,CAACO,oBAAoB,EAAE;IAClEL,IAAI,gBAAGf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACb,cAAA,CAAAc,cAAY,MAAE,CAAC;EAC3B;EAEA,oBACIlB,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACV,MAAA,CAAAc,QAAQ;IAACP,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_folder","_folder_shared","_insert_photo","_description","_Cells","_FileManagerViewProvider","_FileManagerViewConfig","FolderCellName","exports","_ref","folder","onClick","icon","default","createElement","ReactComponent","hasNonInheritedPermissions","canManagePermissions","RowTitle","id","RowIcon","RowText","use","title","FileCellName","_ref2","file","type","includes","name","CellName","_FileManagerViewConfi","FileManagerViewConfig","Browser","Table","Column","useTableRow","isFolderRow","_useTableRow","row","_useFileManagerView","useFileManagerView","showFileDetails","setFolderId"],"sources":["CellName.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ReactComponent as Folder } from \"@material-design-icons/svg/outlined/folder.svg\";\nimport { ReactComponent as FolderShared } from \"@material-design-icons/svg/outlined/folder_shared.svg\";\nimport { ReactComponent as Image } from \"@material-design-icons/svg/outlined/insert_photo.svg\";\nimport { ReactComponent as File } from \"@material-design-icons/svg/outlined/description.svg\";\n\nimport { RowIcon, RowText, RowTitle } from \"./Cells.styled\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { FileTableItem } from \"~/types\";\nimport { FolderTableItem } from \"@webiny/app-aco/types\";\n\ninterface DefaultProps {\n onClick: (id: string) => void;\n}\n\ninterface FolderCellNameProps extends DefaultProps {\n folder: FolderTableItem;\n}\n\nexport const FolderCellName = ({ folder, onClick }: FolderCellNameProps) => {\n let icon = <Folder />;\n if (folder.hasNonInheritedPermissions && folder.canManagePermissions) {\n icon = <FolderShared />;\n }\n\n return (\n <RowTitle onClick={() => onClick(folder.id)}>\n <RowIcon>{icon}</RowIcon>\n <RowText use={\"subtitle2\"}>{folder.title}</RowText>\n </RowTitle>\n );\n};\n\ninterface FileCellNameProps extends DefaultProps {\n file: FileTableItem;\n}\n\nexport const FileCellName = ({ file, onClick }: FileCellNameProps) => {\n return (\n <RowTitle onClick={() => onClick(file.id)}>\n <RowIcon>{file.type && file.type.includes(\"image\") ? <Image /> : <File />}</RowIcon>\n <RowText use={\"subtitle2\"}>{file.name}</RowText>\n </RowTitle>\n );\n};\n\nexport const CellName = () => {\n const { useTableRow, isFolderRow } = FileManagerViewConfig.Browser.Table.Column;\n const { row } = useTableRow();\n const { showFileDetails, setFolderId } = useFileManagerView();\n\n if (isFolderRow(row)) {\n return <FolderCellName folder={row} onClick={setFolderId} />;\n }\n\n return <FileCellName file={row} onClick={showFileDetails} />;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_validation","_Select","_form","_","_useAccessControlField","_useFileOrUndefined2","AccessControl","exports","_ref","defaultValue","placeholder","_useFileOrUndefined","useFileOrUndefined","file","_useFileManagerApi","useFileManagerApi","canEdit","accessControlField","useAccessControlField","options","bind","useBind","name","validators","validation","create","beforeChange","value","cb","undefined","default","createElement","Select","Object","assign","label","disabled","description"],"sources":["AccessControl.tsx"],"sourcesContent":["import React from \"react\";\nimport { validation } from \"@webiny/validation\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useBind } from \"@webiny/form\";\nimport { useFileManagerApi } from \"~/index\";\nimport { useAccessControlField } from \"./useAccessControlField\";\nimport { useFileOrUndefined } from \"~/components/fields/useFileOrUndefined\";\n\ninterface AccessControlProps {\n defaultValue?: string;\n placeholder?: string;\n}\n\nexport const AccessControl = ({ defaultValue, placeholder }: AccessControlProps) => {\n const { file } = useFileOrUndefined();\n const { canEdit } = useFileManagerApi();\n const accessControlField = useAccessControlField();\n\n /**\n * In reality, this condition will never happen, so we don't need to worry about hooks used further below.\n */\n if (!accessControlField) {\n return null;\n }\n\n const { options } = accessControlField;\n\n const bind = useBind({\n name: \"accessControl.type\",\n validators: [validation.create(\"required\")],\n defaultValue,\n beforeChange(value, cb) {\n cb(value === \"\" ? undefined : value);\n }\n });\n\n return (\n <Select\n {...bind}\n value={bind.value || defaultValue}\n label={\"Access Control\"}\n options={options || []}\n disabled={file ? !canEdit(file) : false}\n placeholder={placeholder}\n description={\"Control who can access this file.\"}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,CAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAOO,IAAMO,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAAE,IAAA,EAA0D;EAAA,IAApDC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;EACrD,IAAAC,mBAAA,GAAiB,IAAAC,uCAAkB,EAAC,CAAC;IAA7BC,IAAI,GAAAF,mBAAA,CAAJE,IAAI;EACZ,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EACf,IAAMC,kBAAkB,GAAG,IAAAC,4CAAqB,EAAC,CAAC;;EAElD;AACJ;AACA;EACI,IAAI,CAACD,kBAAkB,EAAE;IACrB,OAAO,IAAI;EACf;EAEA,IAAQE,OAAO,GAAKF,kBAAkB,CAA9BE,OAAO;EAEf,IAAMC,IAAI,GAAG,IAAAC,aAAO,EAAC;IACjBC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAE,CAACC,sBAAU,CAACC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3ChB,YAAY,EAAZA,YAAY;IACZiB,YAAY,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_validation","_Select","_form","_","_useAccessControlField","_useFileOrUndefined2","AccessControl","exports","_ref","defaultValue","placeholder","_useFileOrUndefined","useFileOrUndefined","file","_useFileManagerApi","useFileManagerApi","canEdit","accessControlField","useAccessControlField","options","bind","useBind","name","validators","validation","create","beforeChange","value","cb","undefined","default","createElement","Select","Object","assign","label","disabled","description"],"sources":["AccessControl.tsx"],"sourcesContent":["import React from \"react\";\nimport { validation } from \"@webiny/validation\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useBind } from \"@webiny/form\";\nimport { useFileManagerApi } from \"~/index\";\nimport { useAccessControlField } from \"./useAccessControlField\";\nimport { useFileOrUndefined } from \"~/components/fields/useFileOrUndefined\";\n\ninterface AccessControlProps {\n defaultValue?: string;\n placeholder?: string;\n}\n\nexport const AccessControl = ({ defaultValue, placeholder }: AccessControlProps) => {\n const { file } = useFileOrUndefined();\n const { canEdit } = useFileManagerApi();\n const accessControlField = useAccessControlField();\n\n /**\n * In reality, this condition will never happen, so we don't need to worry about hooks used further below.\n */\n if (!accessControlField) {\n return null;\n }\n\n const { options } = accessControlField;\n\n const bind = useBind({\n name: \"accessControl.type\",\n validators: [validation.create(\"required\")],\n defaultValue,\n beforeChange(value, cb) {\n cb(value === \"\" ? undefined : value);\n }\n });\n\n return (\n <Select\n {...bind}\n value={bind.value || defaultValue}\n label={\"Access Control\"}\n options={options || []}\n disabled={file ? !canEdit(file) : false}\n placeholder={placeholder}\n description={\"Control who can access this file.\"}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,CAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAOO,IAAMO,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAAE,IAAA,EAA0D;EAAA,IAApDC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;EACrD,IAAAC,mBAAA,GAAiB,IAAAC,uCAAkB,EAAC,CAAC;IAA7BC,IAAI,GAAAF,mBAAA,CAAJE,IAAI;EACZ,IAAAC,kBAAA,GAAoB,IAAAC,mBAAiB,EAAC,CAAC;IAA/BC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;EACf,IAAMC,kBAAkB,GAAG,IAAAC,4CAAqB,EAAC,CAAC;;EAElD;AACJ;AACA;EACI,IAAI,CAACD,kBAAkB,EAAE;IACrB,OAAO,IAAI;EACf;EAEA,IAAQE,OAAO,GAAKF,kBAAkB,CAA9BE,OAAO;EAEf,IAAMC,IAAI,GAAG,IAAAC,aAAO,EAAC;IACjBC,IAAI,EAAE,oBAAoB;IAC1BC,UAAU,EAAE,CAACC,sBAAU,CAACC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3ChB,YAAY,EAAZA,YAAY;IACZiB,YAAY,WAAZA,YAAYA,CAACC,KAAK,EAAEC,EAAE,EAAE;MACpBA,EAAE,CAACD,KAAK,KAAK,EAAE,GAAGE,SAAS,GAAGF,KAAK,CAAC;IACxC;EACJ,CAAC,CAAC;EAEF,oBACI9B,MAAA,CAAAiC,OAAA,CAAAC,aAAA,CAAC9B,OAAA,CAAA+B,MAAM,EAAAC,MAAA,CAAAC,MAAA,KACCd,IAAI;IACRO,KAAK,EAAEP,IAAI,CAACO,KAAK,IAAIlB,YAAa;IAClC0B,KAAK,EAAE,gBAAiB;IACxBhB,OAAO,EAAEA,OAAO,IAAI,EAAG;IACvBiB,QAAQ,EAAEvB,IAAI,GAAG,CAACG,OAAO,CAACH,IAAI,CAAC,GAAG,KAAM;IACxCH,WAAW,EAAEA,WAAY;IACzB2B,WAAW,EAAE;EAAoC,EACpD,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_appAdmin","_appAco","_","useMoveFileToFolder","file","_useSnackbar","useSnackbar","showSnackbar","_useMoveToFolderDialo","useMoveToFolderDialog","showDialog","_useFileManagerView","useFileManagerView","moveFileToFolder","useCallback","title","message","loadingLabel","acceptLabel","focusedFolderId","location","folderId","onAccept","_ref","folder","id","concat","name"],"sources":["useMoveFileToFolder.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { useMoveToFolderDialog } from \"@webiny/app-aco\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerView } from \"~/index\";\n\nexport function useMoveFileToFolder(file: FileItem) {\n const { showSnackbar } = useSnackbar();\n const { showDialog } = useMoveToFolderDialog();\n const { moveFileToFolder } = useFileManagerView();\n\n return useCallback(() => {\n showDialog({\n title: \"Move file to a new location\",\n message: \"Select a new location for this file:\",\n loadingLabel: \"Moving file...\",\n acceptLabel: \"Move file\",\n focusedFolderId: file.location.folderId,\n async onAccept({ folder }) {\n await moveFileToFolder(file.id, folder.id);\n showSnackbar(\n `File \"${file.name}\" was successfully moved to folder \"${folder.title}\"!`\n );\n }\n });\n }, [file.id]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,CAAA,GAAAH,OAAA;AAEO,SAASI,mBAAmBA,CAACC,IAAc,EAAE;EAChD,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,qBAAA,GAAuB,IAAAC,6BAAqB,EAAC,CAAC;IAAtCC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;EAClB,IAAAC,mBAAA,GAA6B,IAAAC,oBAAkB,EAAC,CAAC;IAAzCC,gBAAgB,GAAAF,mBAAA,CAAhBE,gBAAgB;EAExB,OAAO,IAAAC,kBAAW,EAAC,YAAM;IACrBJ,UAAU,CAAC;MACPK,KAAK,EAAE,6BAA6B;MACpCC,OAAO,EAAE,sCAAsC;MAC/CC,YAAY,EAAE,gBAAgB;MAC9BC,WAAW,EAAE,WAAW;MACxBC,eAAe,EAAEf,IAAI,CAACgB,QAAQ,CAACC,QAAQ;MACjCC,QAAQ,
|
|
1
|
+
{"version":3,"names":["_react","require","_appAdmin","_appAco","_","useMoveFileToFolder","file","_useSnackbar","useSnackbar","showSnackbar","_useMoveToFolderDialo","useMoveToFolderDialog","showDialog","_useFileManagerView","useFileManagerView","moveFileToFolder","useCallback","title","message","loadingLabel","acceptLabel","focusedFolderId","location","folderId","onAccept","_ref","folder","id","concat","name"],"sources":["useMoveFileToFolder.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { useMoveToFolderDialog } from \"@webiny/app-aco\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerView } from \"~/index\";\n\nexport function useMoveFileToFolder(file: FileItem) {\n const { showSnackbar } = useSnackbar();\n const { showDialog } = useMoveToFolderDialog();\n const { moveFileToFolder } = useFileManagerView();\n\n return useCallback(() => {\n showDialog({\n title: \"Move file to a new location\",\n message: \"Select a new location for this file:\",\n loadingLabel: \"Moving file...\",\n acceptLabel: \"Move file\",\n focusedFolderId: file.location.folderId,\n async onAccept({ folder }) {\n await moveFileToFolder(file.id, folder.id);\n showSnackbar(\n `File \"${file.name}\" was successfully moved to folder \"${folder.title}\"!`\n );\n }\n });\n }, [file.id]);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,CAAA,GAAAH,OAAA;AAEO,SAASI,mBAAmBA,CAACC,IAAc,EAAE;EAChD,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,qBAAA,GAAuB,IAAAC,6BAAqB,EAAC,CAAC;IAAtCC,UAAU,GAAAF,qBAAA,CAAVE,UAAU;EAClB,IAAAC,mBAAA,GAA6B,IAAAC,oBAAkB,EAAC,CAAC;IAAzCC,gBAAgB,GAAAF,mBAAA,CAAhBE,gBAAgB;EAExB,OAAO,IAAAC,kBAAW,EAAC,YAAM;IACrBJ,UAAU,CAAC;MACPK,KAAK,EAAE,6BAA6B;MACpCC,OAAO,EAAE,sCAAsC;MAC/CC,YAAY,EAAE,gBAAgB;MAC9BC,WAAW,EAAE,WAAW;MACxBC,eAAe,EAAEf,IAAI,CAACgB,QAAQ,CAACC,QAAQ;MACjCC,QAAQ,iBAARA,QAAQA,CAAAC,IAAA,EAAa;QAAA,IAAVC,MAAM,GAAAD,IAAA,CAANC,MAAM;QACnB,MAAMX,gBAAgB,CAACT,IAAI,CAACqB,EAAE,EAAED,MAAM,CAACC,EAAE,CAAC;QAC1ClB,YAAY,WAAAmB,MAAA,CACCtB,IAAI,CAACuB,IAAI,4CAAAD,MAAA,CAAuCF,MAAM,CAACT,KAAK,QACzE,CAAC;MACL;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAACX,IAAI,CAACqB,EAAE,CAAC,CAAC;AACjB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_graphql","_Progress","FileModelContext","exports","React","createContext","undefined","FileModelProvider","_ref","children","_useState","useState","_useState2","_slicedToArray2","default","model","setModel","useQuery","GET_FILE_MODEL","onCompleted","data","fileManager","getFileModel","createElement","CircularProgress","label","Provider","value"],"sources":["FileModelContext.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CmsModel } from \"@webiny/app-headless-cms/types\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { GET_FILE_MODEL } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nexport const FileModelContext = React.createContext<CmsModel | undefined>(undefined);\n\nexport const FileModelProvider = ({ children }: { children: React.ReactNode }) => {\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useQuery(GET_FILE_MODEL, {\n onCompleted: data => {\n setModel(data.fileManager.getFileModel.data);\n }\n });\n\n if (!model) {\n return <CircularProgress label={\"Preparing File Manager...\"} />;\n }\n\n return <FileModelContext.Provider value={model}>{children}</FileModelContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,IAAMI,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAuBC,SAAS,CAAC;AAE7E,IAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACxC,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAuBL,SAAS,CAAC;IAAAM,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA5DK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EAEtB,IAAAK,oBAAQ,EAACC,uBAAc,EAAE;IACrBC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_graphql","_Progress","FileModelContext","exports","React","createContext","undefined","FileModelProvider","_ref","children","_useState","useState","_useState2","_slicedToArray2","default","model","setModel","useQuery","GET_FILE_MODEL","onCompleted","data","fileManager","getFileModel","createElement","CircularProgress","label","Provider","value"],"sources":["FileModelContext.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CmsModel } from \"@webiny/app-headless-cms/types\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { GET_FILE_MODEL } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nexport const FileModelContext = React.createContext<CmsModel | undefined>(undefined);\n\nexport const FileModelProvider = ({ children }: { children: React.ReactNode }) => {\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useQuery(GET_FILE_MODEL, {\n onCompleted: data => {\n setModel(data.fileManager.getFileModel.data);\n }\n });\n\n if (!model) {\n return <CircularProgress label={\"Preparing File Manager...\"} />;\n }\n\n return <FileModelContext.Provider value={model}>{children}</FileModelContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,IAAMI,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAuBC,SAAS,CAAC;AAE7E,IAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACxC,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAuBL,SAAS,CAAC;IAAAM,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA5DK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EAEtB,IAAAK,oBAAQ,EAACC,uBAAc,EAAE;IACrBC,WAAW,EAAE,SAAbA,WAAWA,CAAEC,IAAI,EAAI;MACjBJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACC,YAAY,CAACF,IAAI,CAAC;IAChD;EACJ,CAAC,CAAC;EAEF,IAAI,CAACL,KAAK,EAAE;IACR,oBAAOnB,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACtB,SAAA,CAAAuB,gBAAgB;MAACC,KAAK,EAAE;IAA4B,CAAE,CAAC;EACnE;EAEA,oBAAO7B,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACrB,gBAAgB,CAACwB,QAAQ;IAACC,KAAK,EAAEZ;EAAM,GAAEN,QAAoC,CAAC;AAC1F,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_download","_","FileDetails","FileManagerViewConfig","Download","exports","_useFile","useFile","file","default","createElement","rel","target","href","concat","src","Action","IconButton","label","icon","ReactComponent","style","margin","onAction"],"sources":["Download.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DownloadIcon } from \"@material-design-icons/svg/outlined/download.svg\";\nimport { FileManagerViewConfig, useFile } from \"~/index\";\n\nconst { FileDetails } = FileManagerViewConfig;\n\nexport const Download = () => {\n const { file } = useFile();\n\n return (\n <a rel=\"noreferrer\" target={\"_blank\"} href={`${file.src}?original`}>\n <FileDetails.Action.IconButton\n label={\"Download\"}\n icon={<DownloadIcon style={{ margin: \"0 8px 0 0\" }} />}\n onAction={() => {\n /* Do nothing. */\n }}\n />\n </a>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAEA,IAAQG,WAAW,GAAKC,uBAAqB,CAArCD,WAAW;AAEZ,IAAME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,SAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EAEZ,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA;IAAGC,GAAG,EAAC,YAAY;IAACC,MAAM,EAAE,QAAS;IAACC,IAAI,KAAAC,MAAA,CAAKN,IAAI,CAACO,GAAG;EAAY,gBAC/DlB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,WAAW,CAACc,MAAM,CAACC,UAAU;IAC1BC,KAAK,EAAE,UAAW;IAClBC,IAAI,eAAEtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,SAAA,CAAAoB,cAAY;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAY;IAAE,CAAE,CAAE;IACvDC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_download","_","FileDetails","FileManagerViewConfig","Download","exports","_useFile","useFile","file","default","createElement","rel","target","href","concat","src","Action","IconButton","label","icon","ReactComponent","style","margin","onAction"],"sources":["Download.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DownloadIcon } from \"@material-design-icons/svg/outlined/download.svg\";\nimport { FileManagerViewConfig, useFile } from \"~/index\";\n\nconst { FileDetails } = FileManagerViewConfig;\n\nexport const Download = () => {\n const { file } = useFile();\n\n return (\n <a rel=\"noreferrer\" target={\"_blank\"} href={`${file.src}?original`}>\n <FileDetails.Action.IconButton\n label={\"Download\"}\n icon={<DownloadIcon style={{ margin: \"0 8px 0 0\" }} />}\n onAction={() => {\n /* Do nothing. */\n }}\n />\n </a>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAEA,IAAQG,WAAW,GAAKC,uBAAqB,CAArCD,WAAW;AAEZ,IAAME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,SAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EAEZ,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA;IAAGC,GAAG,EAAC,YAAY;IAACC,MAAM,EAAE,QAAS;IAACC,IAAI,KAAAC,MAAA,CAAKN,IAAI,CAACO,GAAG;EAAY,gBAC/DlB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,WAAW,CAACc,MAAM,CAACC,UAAU;IAC1BC,KAAK,EAAE,UAAW;IAClBC,IAAI,eAAEtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,SAAA,CAAAoB,cAAY;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAY;IAAE,CAAE,CAAE;IACvDC,QAAQ,EAAE,SAAVA,QAAQA,CAAA,EAAQ;MACZ;IAAA;EACF,CACL,CACF,CAAC;AAEZ,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactHotkeyz","_dataurlToBlob","_ImageUpload","_edit","_","_appAdmin","toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","_objectSpread2","default","type","FileDetails","FileManagerViewConfig","EditImage","exports","_useFile","useFile","file","_useFileManagerApi","useFileManagerApi","canEdit","fileDetails","useFileDetails","_useFileManagerView","useFileManagerView","uploadFile","_React$useReducer","React","useReducer","_React$useReducer2","_slicedToArray2","dispatch","_useSnackbar","useSnackbar","showSnackbar","startsWith","createElement","Fragment","Action","IconButton","label","icon","ReactComponent","style","margin","onAction","src","Hotkeys","zIndex","disabled","ImageEditorDialog","dialogZIndex","onClose","onAccept","blob","dataURLtoBlob","name","key","split","pop","newFile","setFile","close"],"sources":["EditImage.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-expect-error\nimport { Hotkeys } from \"react-hotkeyz\";\n// @ts-expect-error\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport {\n FileManagerViewConfig,\n useFile,\n useFileDetails,\n useFileManagerApi,\n useFileManagerView\n} from \"~/index\";\nimport { useSnackbar } from \"@webiny/app-admin\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\n\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\nconst { FileDetails } = FileManagerViewConfig;\n\nexport const EditImage = () => {\n const { file } = useFile();\n const { canEdit } = useFileManagerApi();\n const fileDetails = useFileDetails();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const { showSnackbar } = useSnackbar();\n\n if (!file.type.startsWith(\"image/\")) {\n return null;\n }\n\n // Render nothing if the user doesn't have the required permissions for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <FileDetails.Action.IconButton\n label={\"Edit image\"}\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onAction={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={async src => {\n const blob = dataURLtoBlob(src);\n blob.name = file.name;\n blob.key = file.key.split(\"/\").pop();\n const newFile = await uploadFile(blob);\n\n if (newFile) {\n showSnackbar(\"A new version of the image has been created!\");\n dispatch({ type: \"hideImageEditor\" });\n fileDetails.setFile(newFile);\n fileDetails.close();\n }\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactHotkeyz","_dataurlToBlob","_ImageUpload","_edit","_","_appAdmin","toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","_objectSpread2","default","type","FileDetails","FileManagerViewConfig","EditImage","exports","_useFile","useFile","file","_useFileManagerApi","useFileManagerApi","canEdit","fileDetails","useFileDetails","_useFileManagerView","useFileManagerView","uploadFile","_React$useReducer","React","useReducer","_React$useReducer2","_slicedToArray2","dispatch","_useSnackbar","useSnackbar","showSnackbar","startsWith","createElement","Fragment","Action","IconButton","label","icon","ReactComponent","style","margin","onAction","src","Hotkeys","zIndex","disabled","ImageEditorDialog","dialogZIndex","onClose","onAccept","blob","dataURLtoBlob","name","key","split","pop","newFile","setFile","close"],"sources":["EditImage.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-expect-error\nimport { Hotkeys } from \"react-hotkeyz\";\n// @ts-expect-error\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport {\n FileManagerViewConfig,\n useFile,\n useFileDetails,\n useFileManagerApi,\n useFileManagerView\n} from \"~/index\";\nimport { useSnackbar } from \"@webiny/app-admin\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\n\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\nconst { FileDetails } = FileManagerViewConfig;\n\nexport const EditImage = () => {\n const { file } = useFile();\n const { canEdit } = useFileManagerApi();\n const fileDetails = useFileDetails();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const { showSnackbar } = useSnackbar();\n\n if (!file.type.startsWith(\"image/\")) {\n return null;\n }\n\n // Render nothing if the user doesn't have the required permissions for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <FileDetails.Action.IconButton\n label={\"Edit image\"}\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onAction={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={async src => {\n const blob = dataURLtoBlob(src);\n blob.name = file.name;\n blob.key = file.key.split(\"/\").pop();\n const newFile = await uploadFile(blob);\n\n if (newFile) {\n showSnackbar(\"A new version of the image has been created!\");\n dispatch({ type: \"hideImageEditor\" });\n fileDetails.setFile(newFile);\n fileDetails.close();\n }\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_download","_","Browser","FileManagerViewConfig","Download","exports","_useFile","useFile","file","default","createElement","rel","target","href","concat","src","Grid","Item","Action","IconButton","icon","ReactComponent","onAction"],"sources":["Download.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DownloadIcon } from \"@material-design-icons/svg/filled/download.svg\";\nimport { FileManagerViewConfig, useFile } from \"~/index\";\n\nconst { Browser } = FileManagerViewConfig;\n\nexport const Download = () => {\n const { file } = useFile();\n\n return (\n <a rel=\"noreferrer\" target={\"_blank\"} href={`${file.src}?original`}>\n <Browser.Grid.Item.Action.IconButton\n icon={<DownloadIcon />}\n onAction={() => {\n /* Do nothing. */\n }}\n />\n </a>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAEA,IAAQG,OAAO,GAAKC,uBAAqB,CAAjCD,OAAO;AAER,IAAME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,SAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EAEZ,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA;IAAGC,GAAG,EAAC,YAAY;IAACC,MAAM,EAAE,QAAS;IAACC,IAAI,KAAAC,MAAA,CAAKN,IAAI,CAACO,GAAG;EAAY,gBAC/DlB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,OAAO,CAACc,IAAI,CAACC,IAAI,CAACC,MAAM,CAACC,UAAU;IAChCC,IAAI,eAAEvB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,SAAA,CAAAqB,cAAY,MAAE,CAAE;IACvBC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_download","_","Browser","FileManagerViewConfig","Download","exports","_useFile","useFile","file","default","createElement","rel","target","href","concat","src","Grid","Item","Action","IconButton","icon","ReactComponent","onAction"],"sources":["Download.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DownloadIcon } from \"@material-design-icons/svg/filled/download.svg\";\nimport { FileManagerViewConfig, useFile } from \"~/index\";\n\nconst { Browser } = FileManagerViewConfig;\n\nexport const Download = () => {\n const { file } = useFile();\n\n return (\n <a rel=\"noreferrer\" target={\"_blank\"} href={`${file.src}?original`}>\n <Browser.Grid.Item.Action.IconButton\n icon={<DownloadIcon />}\n onAction={() => {\n /* Do nothing. */\n }}\n />\n </a>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAEA,IAAQG,OAAO,GAAKC,uBAAqB,CAAjCD,OAAO;AAER,IAAME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAAE,QAAA,GAAiB,IAAAC,SAAO,EAAC,CAAC;IAAlBC,IAAI,GAAAF,QAAA,CAAJE,IAAI;EAEZ,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA;IAAGC,GAAG,EAAC,YAAY;IAACC,MAAM,EAAE,QAAS;IAACC,IAAI,KAAAC,MAAA,CAAKN,IAAI,CAACO,GAAG;EAAY,gBAC/DlB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,OAAO,CAACc,IAAI,CAACC,IAAI,CAACC,MAAM,CAACC,UAAU;IAChCC,IAAI,eAAEvB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,SAAA,CAAAqB,cAAY,MAAE,CAAE;IACvBC,QAAQ,EAAE,SAAVA,QAAQA,CAAA,EAAQ;MACZ;IAAA;EACF,CACL,CACF,CAAC;AAEZ,CAAC","ignoreList":[]}
|
|
@@ -170,7 +170,7 @@ var FileManagerView = function FileManagerView() {
|
|
|
170
170
|
errors = _ref.errors;
|
|
171
171
|
uploader.reset();
|
|
172
172
|
if (errors.length > 0) {
|
|
173
|
-
showSnackbar(
|
|
173
|
+
showSnackbar(/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["One or more files were not uploaded successfully:"]))), /*#__PURE__*/_react.default.createElement("ol", null, errors.map(function (_ref2) {
|
|
174
174
|
var file = _ref2.file,
|
|
175
175
|
e = _ref2.e;
|
|
176
176
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactButterfiles","_interopRequireDefault","_debounce","_omit","_reactHotkeyz","_mobxReactLite","_cloud_upload","_add","_i18n","_appAco","_appAdmin","_SplitView","_appI18n","_appTenancy","_Button","_Scrollbar","_FileManagerViewProvider","_outputFileSelectionError","_LeftSidebar","_","_BottomInfoBar","_BulkActions","_DropFilesHere","_Empty","_FileDetails","_Grid","_LayoutSwitch","_Table","_Title","_UploadStatus","_BatchFileUploader","_SearchWidget","_Filters","_TagsList","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","FileListWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","createSort","sorting","length","undefined","reduce","items","item","sort","concat","id","desc","includes","push","useLayoutId","applicationId","_useTenancy","useTenancy","tenant","_useI18N","useI18N","getCurrentLocale","localeCode","console","warn","FileManagerView","view","useFileManagerView","fileManager","useFileManagerApi","_useFileManagerViewCo","useFileManagerViewConfig","browser","_useSnackbar","useSnackbar","showSnackbar","_useCreateDialog","useCreateDialog","showCreateFolderDialog","showDialog","_useState","useState","_useState2","_slicedToArray2","drawerLoading","setDrawerLoading","uploader","useMemo","BatchFileUploader","uploadFile","folderId","_useState3","_useState4","tableSorting","setTableSorting","_useState5","_useState6","currentFile","setCurrentFile","layoutId","useEffect","fetchFileDetails","showingFileDetails","file","getFile","setListSort","getFileUploadErrorMessage","useCallback","e","match","_match","message","useHotkeys","zIndex","keys","esc","onClose","uploadFiles","files","addFiles","onUploadFinished","_ref","uploaded","errors","reset","createElement","Fragment","_taggedTemplateLiteral2","_ref2","key","onUploadCompletion","renderUploadFileAction","_ref3","browseFiles","canCreate","ButtonPrimary","flat","small","onClick","ButtonIcon","icon","ReactComponent","filesBeingUploaded","getJobs","progress","renderList","isListLoading","isSearch","Empty","isSearchResult","folders","listTable","getSelectableRow","rows","filter","row","$type","omit","onSelectRow","hasOnSelectCallback","multiple","setSelected","onChange","onToggleRow","toggleSelected","Table","onSortingChange","Grid","records","loading","onFolderClick","setFolderId","selected","deselectAll","loadMoreOnScroll","debounce","_ref4","scrollFrame","top","loadMoreFiles","meta","onCreateFolder","currentParentId","updateFile","data","fileData","_objectWithoutProperties2","hideFileDetails","maxSize","settings","uploadMaxFileSize","multipleMaxSize","accept","onSuccess","filesToUpload","src","Boolean","onError","outputFileSelectionError","_ref5","getDropZoneProps","OverlayLayout","onExited","barLeft","Title","title","listTitle","barMiddle","SearchWidget","barRight","ButtonSecondary","style","margin","LayoutSwitch","FileDetails","open","onSave","SplitView","LeftPanel","span","LeftSidebar","currentFolder","filterByTags","TagsList","tags","activeTags","allTags","onActivatedTagsChange","setActiveTags","RightPanel","Object","assign","onDragOver","setDragging","onDragLeave","onDrop","dragging","DropFilesHere","BulkActions","Filters","Scrollbar","onScrollFrame","BottomInfoBar","listing","isListLoadingMore","totalCount","currentCount","UploadStatus","numberOfFiles","_default","exports","observer"],"sources":["FileManagerView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport Files, { FilesRenderChildren } from \"react-butterfiles\";\nimport styled from \"@emotion/styled\";\nimport debounce from \"lodash/debounce\";\nimport omit from \"lodash/omit\";\nimport { positionValues } from \"react-custom-scrollbars\";\n// @ts-expect-error\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { observer } from \"mobx-react-lite\";\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 { i18n } from \"@webiny/app/i18n\";\nimport { useCreateDialog } from \"@webiny/app-aco\";\nimport { OverlayLayout, useSnackbar } from \"@webiny/app-admin\";\nimport { LeftPanel, RightPanel, SplitView } from \"@webiny/app-admin/components/SplitView\";\nimport { useI18N } from \"@webiny/app-i18n\";\nimport { useTenancy } from \"@webiny/app-tenancy\";\nimport { ButtonIcon, ButtonPrimary, ButtonProps, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Sorting } from \"@webiny/ui/DataTable\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport { LeftSidebar } from \"./LeftSidebar\";\nimport { useFileManagerApi, useFileManagerViewConfig } from \"~/index\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { BottomInfoBar } from \"~/components/BottomInfoBar\";\nimport { BulkActions } from \"~/components/BulkActions\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\nimport { Empty } from \"~/components/Empty\";\nimport { FileDetails } from \"~/components/FileDetails\";\nimport { Grid } from \"~/components/Grid\";\nimport { LayoutSwitch } from \"~/components/LayoutSwitch\";\nimport { Table, TableProps } from \"~/components/Table\";\nimport { Title } from \"~/components/Title\";\nimport { UploadStatus } from \"~/components/UploadStatus\";\nimport { BatchFileUploader } from \"~/BatchFileUploader\";\nimport { SearchWidget } from \"./components/SearchWidget\";\nimport { Filters } from \"./components/Filters\";\nimport { TagsList } from \"~/modules/FileManagerRenderer/FileManagerView/components/TagsList\";\nimport { ListFilesSort, ListFilesSortItem } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { TableItem } from \"~/types\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst FileListWrapper = styled(\"div\")({\n zIndex: 60,\n height: \"calc(100vh - 94px)\",\n position: \"relative\",\n \".mdc-data-table\": {\n display: \"inline-table\"\n }\n});\n\ntype BrowseFilesHandler = {\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n};\n\ntype GetFileUploadErrorMessageProps =\n | string\n | {\n message: string;\n };\n\nconst createSort = (sorting?: Sorting): ListFilesSort | undefined => {\n if (!sorting?.length) {\n return undefined;\n }\n return sorting.reduce<ListFilesSort>((items, item) => {\n const sort = `${item.id}_${item.desc ? \"DESC\" : \"ASC\"}` as ListFilesSortItem;\n if (items.includes(sort)) {\n return items;\n }\n items.push(sort);\n return items;\n }, []);\n};\n\n/**\n * Generates a `layoutId` to be used with the `<SplitView />` component.\n * The `layoutId` is essential for saving user preferences into localStorage.\n * The generation of the `layoutId` takes into account the current `tenantId`, `localeCode`, and the provided `applicationId`.\n *\n * TODO: export the useLayoutId from a generic use package, such as app-admin. At the moment is not possible because of circular dependency issues.\n */\nconst useLayoutId = (applicationId: string) => {\n const { tenant } = useTenancy();\n const { getCurrentLocale } = useI18N();\n const localeCode = getCurrentLocale(\"content\");\n\n if (!tenant || !localeCode) {\n console.warn(\"Missing tenant or localeCode while creating layoutId\");\n return null;\n }\n\n return `T#${tenant}#L#${localeCode}#A#${applicationId}`;\n};\n\nconst FileManagerView = () => {\n const view = useFileManagerView();\n const fileManager = useFileManagerApi();\n const { browser } = useFileManagerViewConfig();\n const { showSnackbar } = useSnackbar();\n const { showDialog: showCreateFolderDialog } = useCreateDialog();\n const [drawerLoading, setDrawerLoading] = useState<string | null>(null);\n\n const uploader = useMemo<BatchFileUploader>(\n () => new BatchFileUploader(view.uploadFile),\n [view.folderId]\n );\n\n const [tableSorting, setTableSorting] = useState<Sorting>([]);\n const [currentFile, setCurrentFile] = useState<FileItem>();\n const layoutId = useLayoutId(\"fm:file\");\n\n useEffect(() => {\n const fetchFileDetails = async () => {\n if (view.showingFileDetails) {\n setDrawerLoading(\"Loading file details...\");\n const file = await view.getFile(view.showingFileDetails);\n setCurrentFile(file);\n } else {\n setCurrentFile(undefined);\n }\n setDrawerLoading(null);\n };\n\n // call the function\n fetchFileDetails();\n }, [view.showingFileDetails]);\n\n useEffect(() => {\n if (!tableSorting?.length) {\n return;\n }\n const sort = createSort(tableSorting);\n if (!sort) {\n return;\n }\n view.setListSort(sort);\n }, [tableSorting]);\n\n const getFileUploadErrorMessage = useCallback((e: GetFileUploadErrorMessageProps) => {\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: view.onClose\n }\n });\n\n const uploadFiles = async (files: File[]) => {\n uploader.addFiles(files);\n\n uploader.onUploadFinished(({ uploaded, errors }) => {\n uploader.reset();\n\n if (errors.length > 0) {\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 return;\n }\n\n showSnackbar(t`File upload complete.`);\n\n view.onUploadCompletion(uploaded);\n });\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }: BrowseFilesHandler) => {\n if (!fileManager.canCreate) {\n return null;\n }\n return (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={browseFiles as ButtonProps[\"onClick\"]}\n >\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [fileManager.canCreate]\n );\n\n const filesBeingUploaded = uploader.getJobs().length;\n const progress = uploader.progress;\n\n const renderList = (browseFiles: FilesRenderChildren[\"browseFiles\"]) => {\n if (!view.isListLoading && view.isSearch && view.files.length === 0) {\n return <Empty isSearchResult={true} browseFiles={browseFiles} />;\n }\n\n if (!view.isListLoading && view.files.length === 0 && view.folders.length === 0) {\n return <Empty isSearchResult={false} browseFiles={browseFiles} />;\n }\n\n if (view.listTable) {\n const getSelectableRow = (rows: TableItem[]) =>\n rows\n .filter(row => row.$type === \"RECORD\")\n .map(row => omit(row, [\"$type\", \"$selectable\"]) as FileItem);\n\n const onSelectRow: TableProps[\"onSelectRow\"] = view.hasOnSelectCallback\n ? rows => {\n const files = getSelectableRow(rows);\n\n if (view.multiple) {\n view.setSelected(files);\n } else {\n view.onChange(files[0]);\n }\n }\n : rows => {\n const files = getSelectableRow(rows);\n view.setSelected(files);\n };\n\n const onToggleRow: TableProps[\"onToggleRow\"] = view.hasOnSelectCallback\n ? row => {\n const files = getSelectableRow([row]);\n\n if (view.multiple) {\n view.toggleSelected(files[0]);\n } else {\n view.onChange(files[0]);\n }\n }\n : row => {\n const files = getSelectableRow([row]);\n view.toggleSelected(files[0]);\n };\n\n return (\n <Table\n onSelectRow={onSelectRow}\n onToggleRow={onToggleRow}\n sorting={tableSorting}\n onSortingChange={setTableSorting}\n />\n );\n }\n\n return (\n <Grid\n folders={view.folders}\n records={view.files}\n loading={view.isListLoading}\n onFolderClick={view.setFolderId}\n selected={view.selected}\n multiple={view.multiple}\n toggleSelected={view.toggleSelected}\n deselectAll={view.deselectAll}\n onChange={view.onChange}\n onClose={view.onClose}\n hasOnSelectCallback={view.hasOnSelectCallback}\n />\n );\n };\n\n const loadMoreOnScroll = useCallback(\n debounce(async ({ scrollFrame }: { scrollFrame: positionValues }) => {\n if (scrollFrame.top > 0.8) {\n view.loadMoreFiles();\n }\n }, 200),\n [view.meta, view.loadMoreFiles]\n );\n\n const onCreateFolder = useCallback(() => {\n showCreateFolderDialog({ currentParentId: view.folderId });\n }, [view.folderId]);\n\n const updateFile = useCallback(\n async (data: FileItem) => {\n const { id, ...fileData } = data;\n setDrawerLoading(\"Saving file changes...\");\n await view.updateFile(id, fileData);\n setDrawerLoading(null);\n showSnackbar(\"File updated successfully!\");\n view.hideFileDetails();\n },\n [view.updateFile]\n );\n\n return (\n <>\n <Files\n multiple\n maxSize={view.settings ? view.settings.uploadMaxFileSize + \"b\" : \"1TB\"}\n multipleMaxSize={\"1TB\"}\n accept={view.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 const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles }) => (\n <OverlayLayout\n onExited={view.onClose}\n barLeft={<Title title={view.listTitle} />}\n barMiddle={<SearchWidget />}\n barRight={\n <>\n {view.hasOnSelectCallback && view.selected.length > 0 ? (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={() => view.onChange(view.selected)}\n >\n {t`Select`} {view.multiple && `(${view.selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles } as BrowseFilesHandler)\n )}\n <ButtonSecondary\n data-testid={\"file-manager.create-folder-button\"}\n onClick={onCreateFolder}\n small={true}\n style={{ margin: \"0 8px\" }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Folder`}\n </ButtonSecondary>\n <LayoutSwitch />\n </>\n }\n >\n <>\n <FileDetails\n loading={drawerLoading}\n file={currentFile}\n open={Boolean(view.showingFileDetails)}\n onClose={view.hideFileDetails}\n onSave={updateFile}\n />\n <SplitView layoutId={layoutId}>\n <LeftPanel span={2}>\n <LeftSidebar\n currentFolder={view.folderId}\n onFolderClick={view.setFolderId}\n >\n {browser.filterByTags ? (\n <TagsList\n loading={view.tags.loading}\n activeTags={view.tags.activeTags}\n tags={view.tags.allTags}\n onActivatedTagsChange={view.tags.setActiveTags}\n />\n ) : null}\n </LeftSidebar>\n </LeftPanel>\n <RightPanel span={10}>\n <FileListWrapper\n {...getDropZoneProps({\n onDragOver: () => view.setDragging(true),\n onDragLeave: () => view.setDragging(false),\n onDrop: () => view.setDragging(false)\n })}\n data-testid={\"fm-list-wrapper\"}\n >\n {view.dragging && <DropFilesHere />}\n <BulkActions />\n <Filters />\n <Scrollbar\n onScrollFrame={scrollFrame =>\n loadMoreOnScroll({ scrollFrame })\n }\n >\n {renderList(browseFiles)}\n </Scrollbar>\n <BottomInfoBar\n accept={view.accept}\n listing={view.isListLoadingMore}\n loading={view.isListLoading}\n totalCount={view.meta?.totalCount ?? 0}\n currentCount={view.files.length}\n />\n <UploadStatus\n numberOfFiles={filesBeingUploaded}\n progress={progress}\n />\n </FileListWrapper>\n </RightPanel>\n </SplitView>\n </>\n </OverlayLayout>\n )}\n </Files>\n </>\n );\n};\n\nexport default observer(FileManagerView);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactButterfiles","_interopRequireDefault","_debounce","_omit","_reactHotkeyz","_mobxReactLite","_cloud_upload","_add","_i18n","_appAco","_appAdmin","_SplitView","_appI18n","_appTenancy","_Button","_Scrollbar","_FileManagerViewProvider","_outputFileSelectionError","_LeftSidebar","_","_BottomInfoBar","_BulkActions","_DropFilesHere","_Empty","_FileDetails","_Grid","_LayoutSwitch","_Table","_Title","_UploadStatus","_BatchFileUploader","_SearchWidget","_Filters","_TagsList","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","FileListWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","createSort","sorting","length","undefined","reduce","items","item","sort","concat","id","desc","includes","push","useLayoutId","applicationId","_useTenancy","useTenancy","tenant","_useI18N","useI18N","getCurrentLocale","localeCode","console","warn","FileManagerView","view","useFileManagerView","fileManager","useFileManagerApi","_useFileManagerViewCo","useFileManagerViewConfig","browser","_useSnackbar","useSnackbar","showSnackbar","_useCreateDialog","useCreateDialog","showCreateFolderDialog","showDialog","_useState","useState","_useState2","_slicedToArray2","drawerLoading","setDrawerLoading","uploader","useMemo","BatchFileUploader","uploadFile","folderId","_useState3","_useState4","tableSorting","setTableSorting","_useState5","_useState6","currentFile","setCurrentFile","layoutId","useEffect","fetchFileDetails","showingFileDetails","file","getFile","setListSort","getFileUploadErrorMessage","useCallback","e","match","_match","message","useHotkeys","zIndex","keys","esc","onClose","uploadFiles","files","addFiles","onUploadFinished","_ref","uploaded","errors","reset","createElement","Fragment","_taggedTemplateLiteral2","_ref2","key","onUploadCompletion","renderUploadFileAction","_ref3","browseFiles","canCreate","ButtonPrimary","flat","small","onClick","ButtonIcon","icon","ReactComponent","filesBeingUploaded","getJobs","progress","renderList","isListLoading","isSearch","Empty","isSearchResult","folders","listTable","getSelectableRow","rows","filter","row","$type","omit","onSelectRow","hasOnSelectCallback","multiple","setSelected","onChange","onToggleRow","toggleSelected","Table","onSortingChange","Grid","records","loading","onFolderClick","setFolderId","selected","deselectAll","loadMoreOnScroll","debounce","_ref4","scrollFrame","top","loadMoreFiles","meta","onCreateFolder","currentParentId","updateFile","data","fileData","_objectWithoutProperties2","hideFileDetails","maxSize","settings","uploadMaxFileSize","multipleMaxSize","accept","onSuccess","filesToUpload","src","Boolean","onError","outputFileSelectionError","_ref5","getDropZoneProps","OverlayLayout","onExited","barLeft","Title","title","listTitle","barMiddle","SearchWidget","barRight","ButtonSecondary","style","margin","LayoutSwitch","FileDetails","open","onSave","SplitView","LeftPanel","span","LeftSidebar","currentFolder","filterByTags","TagsList","tags","activeTags","allTags","onActivatedTagsChange","setActiveTags","RightPanel","Object","assign","onDragOver","setDragging","onDragLeave","onDrop","dragging","DropFilesHere","BulkActions","Filters","Scrollbar","onScrollFrame","BottomInfoBar","listing","isListLoadingMore","totalCount","currentCount","UploadStatus","numberOfFiles","_default","exports","observer"],"sources":["FileManagerView.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport Files, { FilesRenderChildren } from \"react-butterfiles\";\nimport styled from \"@emotion/styled\";\nimport debounce from \"lodash/debounce\";\nimport omit from \"lodash/omit\";\nimport { positionValues } from \"react-custom-scrollbars\";\n// @ts-expect-error\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { observer } from \"mobx-react-lite\";\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 { i18n } from \"@webiny/app/i18n\";\nimport { useCreateDialog } from \"@webiny/app-aco\";\nimport { OverlayLayout, useSnackbar } from \"@webiny/app-admin\";\nimport { LeftPanel, RightPanel, SplitView } from \"@webiny/app-admin/components/SplitView\";\nimport { useI18N } from \"@webiny/app-i18n\";\nimport { useTenancy } from \"@webiny/app-tenancy\";\nimport { ButtonIcon, ButtonPrimary, ButtonProps, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Sorting } from \"@webiny/ui/DataTable\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport { LeftSidebar } from \"./LeftSidebar\";\nimport { useFileManagerApi, useFileManagerViewConfig } from \"~/index\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { BottomInfoBar } from \"~/components/BottomInfoBar\";\nimport { BulkActions } from \"~/components/BulkActions\";\nimport { DropFilesHere } from \"~/components/DropFilesHere\";\nimport { Empty } from \"~/components/Empty\";\nimport { FileDetails } from \"~/components/FileDetails\";\nimport { Grid } from \"~/components/Grid\";\nimport { LayoutSwitch } from \"~/components/LayoutSwitch\";\nimport { Table, TableProps } from \"~/components/Table\";\nimport { Title } from \"~/components/Title\";\nimport { UploadStatus } from \"~/components/UploadStatus\";\nimport { BatchFileUploader } from \"~/BatchFileUploader\";\nimport { SearchWidget } from \"./components/SearchWidget\";\nimport { Filters } from \"./components/Filters\";\nimport { TagsList } from \"~/modules/FileManagerRenderer/FileManagerView/components/TagsList\";\nimport { ListFilesSort, ListFilesSortItem } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { TableItem } from \"~/types\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst FileListWrapper = styled(\"div\")({\n zIndex: 60,\n height: \"calc(100vh - 94px)\",\n position: \"relative\",\n \".mdc-data-table\": {\n display: \"inline-table\"\n }\n});\n\ntype BrowseFilesHandler = {\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n};\n\ntype GetFileUploadErrorMessageProps =\n | string\n | {\n message: string;\n };\n\nconst createSort = (sorting?: Sorting): ListFilesSort | undefined => {\n if (!sorting?.length) {\n return undefined;\n }\n return sorting.reduce<ListFilesSort>((items, item) => {\n const sort = `${item.id}_${item.desc ? \"DESC\" : \"ASC\"}` as ListFilesSortItem;\n if (items.includes(sort)) {\n return items;\n }\n items.push(sort);\n return items;\n }, []);\n};\n\n/**\n * Generates a `layoutId` to be used with the `<SplitView />` component.\n * The `layoutId` is essential for saving user preferences into localStorage.\n * The generation of the `layoutId` takes into account the current `tenantId`, `localeCode`, and the provided `applicationId`.\n *\n * TODO: export the useLayoutId from a generic use package, such as app-admin. At the moment is not possible because of circular dependency issues.\n */\nconst useLayoutId = (applicationId: string) => {\n const { tenant } = useTenancy();\n const { getCurrentLocale } = useI18N();\n const localeCode = getCurrentLocale(\"content\");\n\n if (!tenant || !localeCode) {\n console.warn(\"Missing tenant or localeCode while creating layoutId\");\n return null;\n }\n\n return `T#${tenant}#L#${localeCode}#A#${applicationId}`;\n};\n\nconst FileManagerView = () => {\n const view = useFileManagerView();\n const fileManager = useFileManagerApi();\n const { browser } = useFileManagerViewConfig();\n const { showSnackbar } = useSnackbar();\n const { showDialog: showCreateFolderDialog } = useCreateDialog();\n const [drawerLoading, setDrawerLoading] = useState<string | null>(null);\n\n const uploader = useMemo<BatchFileUploader>(\n () => new BatchFileUploader(view.uploadFile),\n [view.folderId]\n );\n\n const [tableSorting, setTableSorting] = useState<Sorting>([]);\n const [currentFile, setCurrentFile] = useState<FileItem>();\n const layoutId = useLayoutId(\"fm:file\");\n\n useEffect(() => {\n const fetchFileDetails = async () => {\n if (view.showingFileDetails) {\n setDrawerLoading(\"Loading file details...\");\n const file = await view.getFile(view.showingFileDetails);\n setCurrentFile(file);\n } else {\n setCurrentFile(undefined);\n }\n setDrawerLoading(null);\n };\n\n // call the function\n fetchFileDetails();\n }, [view.showingFileDetails]);\n\n useEffect(() => {\n if (!tableSorting?.length) {\n return;\n }\n const sort = createSort(tableSorting);\n if (!sort) {\n return;\n }\n view.setListSort(sort);\n }, [tableSorting]);\n\n const getFileUploadErrorMessage = useCallback((e: GetFileUploadErrorMessageProps) => {\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: view.onClose\n }\n });\n\n const uploadFiles = async (files: File[]) => {\n uploader.addFiles(files);\n\n uploader.onUploadFinished(({ uploaded, errors }) => {\n uploader.reset();\n\n if (errors.length > 0) {\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 return;\n }\n\n showSnackbar(t`File upload complete.`);\n\n view.onUploadCompletion(uploaded);\n });\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }: BrowseFilesHandler) => {\n if (!fileManager.canCreate) {\n return null;\n }\n return (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={browseFiles as ButtonProps[\"onClick\"]}\n >\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [fileManager.canCreate]\n );\n\n const filesBeingUploaded = uploader.getJobs().length;\n const progress = uploader.progress;\n\n const renderList = (browseFiles: FilesRenderChildren[\"browseFiles\"]) => {\n if (!view.isListLoading && view.isSearch && view.files.length === 0) {\n return <Empty isSearchResult={true} browseFiles={browseFiles} />;\n }\n\n if (!view.isListLoading && view.files.length === 0 && view.folders.length === 0) {\n return <Empty isSearchResult={false} browseFiles={browseFiles} />;\n }\n\n if (view.listTable) {\n const getSelectableRow = (rows: TableItem[]) =>\n rows\n .filter(row => row.$type === \"RECORD\")\n .map(row => omit(row, [\"$type\", \"$selectable\"]) as FileItem);\n\n const onSelectRow: TableProps[\"onSelectRow\"] = view.hasOnSelectCallback\n ? rows => {\n const files = getSelectableRow(rows);\n\n if (view.multiple) {\n view.setSelected(files);\n } else {\n view.onChange(files[0]);\n }\n }\n : rows => {\n const files = getSelectableRow(rows);\n view.setSelected(files);\n };\n\n const onToggleRow: TableProps[\"onToggleRow\"] = view.hasOnSelectCallback\n ? row => {\n const files = getSelectableRow([row]);\n\n if (view.multiple) {\n view.toggleSelected(files[0]);\n } else {\n view.onChange(files[0]);\n }\n }\n : row => {\n const files = getSelectableRow([row]);\n view.toggleSelected(files[0]);\n };\n\n return (\n <Table\n onSelectRow={onSelectRow}\n onToggleRow={onToggleRow}\n sorting={tableSorting}\n onSortingChange={setTableSorting}\n />\n );\n }\n\n return (\n <Grid\n folders={view.folders}\n records={view.files}\n loading={view.isListLoading}\n onFolderClick={view.setFolderId}\n selected={view.selected}\n multiple={view.multiple}\n toggleSelected={view.toggleSelected}\n deselectAll={view.deselectAll}\n onChange={view.onChange}\n onClose={view.onClose}\n hasOnSelectCallback={view.hasOnSelectCallback}\n />\n );\n };\n\n const loadMoreOnScroll = useCallback(\n debounce(async ({ scrollFrame }: { scrollFrame: positionValues }) => {\n if (scrollFrame.top > 0.8) {\n view.loadMoreFiles();\n }\n }, 200),\n [view.meta, view.loadMoreFiles]\n );\n\n const onCreateFolder = useCallback(() => {\n showCreateFolderDialog({ currentParentId: view.folderId });\n }, [view.folderId]);\n\n const updateFile = useCallback(\n async (data: FileItem) => {\n const { id, ...fileData } = data;\n setDrawerLoading(\"Saving file changes...\");\n await view.updateFile(id, fileData);\n setDrawerLoading(null);\n showSnackbar(\"File updated successfully!\");\n view.hideFileDetails();\n },\n [view.updateFile]\n );\n\n return (\n <>\n <Files\n multiple\n maxSize={view.settings ? view.settings.uploadMaxFileSize + \"b\" : \"1TB\"}\n multipleMaxSize={\"1TB\"}\n accept={view.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 const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles }) => (\n <OverlayLayout\n onExited={view.onClose}\n barLeft={<Title title={view.listTitle} />}\n barMiddle={<SearchWidget />}\n barRight={\n <>\n {view.hasOnSelectCallback && view.selected.length > 0 ? (\n <ButtonPrimary\n flat={true}\n small={true}\n onClick={() => view.onChange(view.selected)}\n >\n {t`Select`} {view.multiple && `(${view.selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles } as BrowseFilesHandler)\n )}\n <ButtonSecondary\n data-testid={\"file-manager.create-folder-button\"}\n onClick={onCreateFolder}\n small={true}\n style={{ margin: \"0 8px\" }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Folder`}\n </ButtonSecondary>\n <LayoutSwitch />\n </>\n }\n >\n <>\n <FileDetails\n loading={drawerLoading}\n file={currentFile}\n open={Boolean(view.showingFileDetails)}\n onClose={view.hideFileDetails}\n onSave={updateFile}\n />\n <SplitView layoutId={layoutId}>\n <LeftPanel span={2}>\n <LeftSidebar\n currentFolder={view.folderId}\n onFolderClick={view.setFolderId}\n >\n {browser.filterByTags ? (\n <TagsList\n loading={view.tags.loading}\n activeTags={view.tags.activeTags}\n tags={view.tags.allTags}\n onActivatedTagsChange={view.tags.setActiveTags}\n />\n ) : null}\n </LeftSidebar>\n </LeftPanel>\n <RightPanel span={10}>\n <FileListWrapper\n {...getDropZoneProps({\n onDragOver: () => view.setDragging(true),\n onDragLeave: () => view.setDragging(false),\n onDrop: () => view.setDragging(false)\n })}\n data-testid={\"fm-list-wrapper\"}\n >\n {view.dragging && <DropFilesHere />}\n <BulkActions />\n <Filters />\n <Scrollbar\n onScrollFrame={scrollFrame =>\n loadMoreOnScroll({ scrollFrame })\n }\n >\n {renderList(browseFiles)}\n </Scrollbar>\n <BottomInfoBar\n accept={view.accept}\n listing={view.isListLoadingMore}\n loading={view.isListLoading}\n totalCount={view.meta?.totalCount ?? 0}\n currentCount={view.files.length}\n />\n <UploadStatus\n numberOfFiles={filesBeingUploaded}\n progress={progress}\n />\n </FileListWrapper>\n </RightPanel>\n </SplitView>\n </>\n </OverlayLayout>\n )}\n </Files>\n </>\n );\n};\n\nexport default observer(FileManagerView);\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AAGA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AAEA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,wBAAA,GAAAjB,OAAA;AACA,IAAAkB,yBAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AACA,IAAAoB,CAAA,GAAApB,OAAA;AAEA,IAAAqB,cAAA,GAAArB,OAAA;AACA,IAAAsB,YAAA,GAAAtB,OAAA;AACA,IAAAuB,cAAA,GAAAvB,OAAA;AACA,IAAAwB,MAAA,GAAAxB,OAAA;AACA,IAAAyB,YAAA,GAAAzB,OAAA;AACA,IAAA0B,KAAA,GAAA1B,OAAA;AACA,IAAA2B,aAAA,GAAA3B,OAAA;AACA,IAAA4B,MAAA,GAAA5B,OAAA;AACA,IAAA6B,MAAA,GAAA7B,OAAA;AACA,IAAA8B,aAAA,GAAA9B,OAAA;AACA,IAAA+B,kBAAA,GAAA/B,OAAA;AACA,IAAAgC,aAAA,GAAAhC,OAAA;AACA,IAAAiC,QAAA,GAAAjC,OAAA;AACA,IAAAkC,SAAA,GAAAlC,OAAA;AAA6F,IAAAmC,SAAA;AAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,iCAAA,gPAhC7F;AAoCA,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,0CAA0C,CAAC;AAE7D,IAAMC,eAAe,gBAAG,IAAAC,KAAA,CAAAC,OAAA,EAAO,KAAK,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAf;AAAA,CAOpC,CAAC;AAYF,IAAMgB,UAAU,GAAG,SAAbA,UAAUA,CAAIC,OAAiB,EAAgC;EACjE,IAAI,CAACA,OAAO,EAAEC,MAAM,EAAE;IAClB,OAAOC,SAAS;EACpB;EACA,OAAOF,OAAO,CAACG,MAAM,CAAgB,UAACC,KAAK,EAAEC,IAAI,EAAK;IAClD,IAAMC,IAAI,MAAAC,MAAA,CAAMF,IAAI,CAACG,EAAE,OAAAD,MAAA,CAAIF,IAAI,CAACI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAuB;IAC5E,IAAIL,KAAK,CAACM,QAAQ,CAACJ,IAAI,CAAC,EAAE;MACtB,OAAOF,KAAK;IAChB;IACAA,KAAK,CAACO,IAAI,CAACL,IAAI,CAAC;IAChB,OAAOF,KAAK;EAChB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CAAIC,aAAqB,EAAK;EAC3C,IAAAC,WAAA,GAAmB,IAAAC,sBAAU,EAAC,CAAC;IAAvBC,MAAM,GAAAF,WAAA,CAANE,MAAM;EACd,IAAAC,QAAA,GAA6B,IAAAC,gBAAO,EAAC,CAAC;IAA9BC,gBAAgB,GAAAF,QAAA,CAAhBE,gBAAgB;EACxB,IAAMC,UAAU,GAAGD,gBAAgB,CAAC,SAAS,CAAC;EAE9C,IAAI,CAACH,MAAM,IAAI,CAACI,UAAU,EAAE;IACxBC,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;IACpE,OAAO,IAAI;EACf;EAEA,YAAAf,MAAA,CAAYS,MAAM,SAAAT,MAAA,CAAMa,UAAU,SAAAb,MAAA,CAAMM,aAAa;AACzD,CAAC;AAED,IAAMU,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EAC1B,IAAMC,IAAI,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EACjC,IAAMC,WAAW,GAAG,IAAAC,mBAAiB,EAAC,CAAC;EACvC,IAAAC,qBAAA,GAAoB,IAAAC,0BAAwB,EAAC,CAAC;IAAtCC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;EACf,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,gBAAA,GAA+C,IAAAC,uBAAe,EAAC,CAAC;IAA5CC,sBAAsB,GAAAF,gBAAA,CAAlCG,UAAU;EAClB,IAAAC,SAAA,GAA0C,IAAAC,eAAQ,EAAgB,IAAI,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAApD,OAAA,EAAAiD,SAAA;IAAhEI,aAAa,GAAAF,UAAA;IAAEG,gBAAgB,GAAAH,UAAA;EAEtC,IAAMI,QAAQ,GAAG,IAAAC,cAAO,EACpB;IAAA,OAAM,IAAIC,oCAAiB,CAACtB,IAAI,CAACuB,UAAU,CAAC;EAAA,GAC5C,CAACvB,IAAI,CAACwB,QAAQ,CAClB,CAAC;EAED,IAAAC,UAAA,GAAwC,IAAAV,eAAQ,EAAU,EAAE,CAAC;IAAAW,UAAA,OAAAT,eAAA,CAAApD,OAAA,EAAA4D,UAAA;IAAtDE,YAAY,GAAAD,UAAA;IAAEE,eAAe,GAAAF,UAAA;EACpC,IAAAG,UAAA,GAAsC,IAAAd,eAAQ,EAAW,CAAC;IAAAe,UAAA,OAAAb,eAAA,CAAApD,OAAA,EAAAgE,UAAA;IAAnDE,WAAW,GAAAD,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAClC,IAAMG,QAAQ,GAAG7C,WAAW,CAAC,SAAS,CAAC;EAEvC,IAAA8C,gBAAS,EAAC,YAAM;IACZ,IAAMC,gBAAgB,GAAG,eAAnBA,gBAAgBA,CAAA,EAAe;MACjC,IAAInC,IAAI,CAACoC,kBAAkB,EAAE;QACzBjB,gBAAgB,CAAC,yBAAyB,CAAC;QAC3C,IAAMkB,IAAI,GAAG,MAAMrC,IAAI,CAACsC,OAAO,CAACtC,IAAI,CAACoC,kBAAkB,CAAC;QACxDJ,cAAc,CAACK,IAAI,CAAC;MACxB,CAAC,MAAM;QACHL,cAAc,CAACtD,SAAS,CAAC;MAC7B;MACAyC,gBAAgB,CAAC,IAAI,CAAC;IAC1B,CAAC;;IAED;IACAgB,gBAAgB,CAAC,CAAC;EACtB,CAAC,EAAE,CAACnC,IAAI,CAACoC,kBAAkB,CAAC,CAAC;EAE7B,IAAAF,gBAAS,EAAC,YAAM;IACZ,IAAI,CAACP,YAAY,EAAElD,MAAM,EAAE;MACvB;IACJ;IACA,IAAMK,IAAI,GAAGP,UAAU,CAACoD,YAAY,CAAC;IACrC,IAAI,CAAC7C,IAAI,EAAE;MACP;IACJ;IACAkB,IAAI,CAACuC,WAAW,CAACzD,IAAI,CAAC;EAC1B,CAAC,EAAE,CAAC6C,YAAY,CAAC,CAAC;EAElB,IAAMa,yBAAyB,GAAG,IAAAC,kBAAW,EAAC,UAACC,CAAiC,EAAK;IACjF,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACvB,IAAMC,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC,yBAAyB,CAAC;MAChD,IAAIA,KAAK,EAAE;QACP,IAAAC,MAAA,OAAA3B,eAAA,CAAApD,OAAA,EAAoB8E,KAAK;UAAhBE,OAAO,GAAAD,MAAA;QAChB,OAAOC,OAAO;MAClB;MAEA,OAAOH,CAAC;IACZ;IACA,OAAOA,CAAC,CAACG,OAAO;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,wBAAU,EAAC;IACPC,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE;MACFC,GAAG,EAAEjD,IAAI,CAACkD;IACd;EACJ,CAAC,CAAC;EAEF,IAAMC,WAAW,GAAG,eAAdA,WAAWA,CAAUC,KAAa,EAAK;IACzChC,QAAQ,CAACiC,QAAQ,CAACD,KAAK,CAAC;IAExBhC,QAAQ,CAACkC,gBAAgB,CAAC,UAAAC,IAAA,EAA0B;MAAA,IAAvBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;MACzCrC,QAAQ,CAACsC,KAAK,CAAC,CAAC;MAEhB,IAAID,MAAM,CAAChF,MAAM,GAAG,CAAC,EAAE;QACnBgC,YAAY,cACR7F,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAA/I,MAAA,CAAAiD,OAAA,CAAA+F,QAAA,QACKpG,CAAC,CAAAN,eAAA,KAAAA,eAAA,OAAA2G,uBAAA,CAAAhG,OAAA,yEACFjD,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,aACKF,MAAM,CAACpF,GAAG,CAAC,UAAAyF,KAAA;UAAA,IAAGzB,IAAI,GAAAyB,KAAA,CAAJzB,IAAI;YAAEK,CAAC,GAAAoB,KAAA,CAADpB,CAAC;UAAA,oBAClB9H,MAAA,CAAAiD,OAAA,CAAA8F,aAAA;YAAII,GAAG,EAAE1B,IAAI,CAAClE;UAAK,gBACfvD,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,iBAAStB,IAAI,CAAClE,IAAa,CAAC,MAAE,EAACqE,yBAAyB,CAACE,CAAC,CAC1D,CAAC;QAAA,CACR,CACD,CACN,CACN,CAAC;QACD;MACJ;MAEAjC,YAAY,CAACjD,CAAC,CAAAL,gBAAA,KAAAA,gBAAA,OAAA0G,uBAAA,CAAAhG,OAAA,8BAAuB,CAAC;MAEtCmC,IAAI,CAACgE,kBAAkB,CAACR,QAAQ,CAAC;IACrC,CAAC,CAAC;EACN,CAAC;EAED,IAAMS,sBAAsB,GAAG,IAAAxB,kBAAW,EACtC,UAAAyB,KAAA,EAAyC;IAAA,IAAtCC,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACV,IAAI,CAACjE,WAAW,CAACkE,SAAS,EAAE;MACxB,OAAO,IAAI;IACf;IACA,oBACIxJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC9H,OAAA,CAAAwI,aAAa;MACVC,IAAI,EAAE,IAAK;MACXC,KAAK,EAAE,IAAK;MACZC,OAAO,EAAEL;IAAsC,gBAE/CvJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC9H,OAAA,CAAA4I,UAAU;MAACC,IAAI,eAAE9J,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACtI,aAAA,CAAAsJ,cAAU,MAAE;IAAE,CAAE,CAAC,EACnCnH,CAAC,CAAAJ,gBAAA,KAAAA,gBAAA,OAAAyG,uBAAA,CAAAhG,OAAA,kBACS,CAAC;EAExB,CAAC,EACD,CAACqC,WAAW,CAACkE,SAAS,CAC1B,CAAC;EAED,IAAMQ,kBAAkB,GAAGxD,QAAQ,CAACyD,OAAO,CAAC,CAAC,CAACpG,MAAM;EACpD,IAAMqG,QAAQ,GAAG1D,QAAQ,CAAC0D,QAAQ;EAElC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIZ,WAA+C,EAAK;IACpE,IAAI,CAACnE,IAAI,CAACgF,aAAa,IAAIhF,IAAI,CAACiF,QAAQ,IAAIjF,IAAI,CAACoD,KAAK,CAAC3E,MAAM,KAAK,CAAC,EAAE;MACjE,oBAAO7D,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACrH,MAAA,CAAA4I,KAAK;QAACC,cAAc,EAAE,IAAK;QAAChB,WAAW,EAAEA;MAAY,CAAE,CAAC;IACpE;IAEA,IAAI,CAACnE,IAAI,CAACgF,aAAa,IAAIhF,IAAI,CAACoD,KAAK,CAAC3E,MAAM,KAAK,CAAC,IAAIuB,IAAI,CAACoF,OAAO,CAAC3G,MAAM,KAAK,CAAC,EAAE;MAC7E,oBAAO7D,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACrH,MAAA,CAAA4I,KAAK;QAACC,cAAc,EAAE,KAAM;QAAChB,WAAW,EAAEA;MAAY,CAAE,CAAC;IACrE;IAEA,IAAInE,IAAI,CAACqF,SAAS,EAAE;MAChB,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAiB;QAAA,OACvCA,IAAI,CACCC,MAAM,CAAC,UAAAC,GAAG;UAAA,OAAIA,GAAG,CAACC,KAAK,KAAK,QAAQ;QAAA,EAAC,CACrCrH,GAAG,CAAC,UAAAoH,GAAG;UAAA,OAAI,IAAAE,aAAI,EAACF,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAAA,CAAY,CAAC;MAAA;MAEpE,IAAMG,WAAsC,GAAG5F,IAAI,CAAC6F,mBAAmB,GACjE,UAAAN,IAAI,EAAI;QACJ,IAAMnC,KAAK,GAAGkC,gBAAgB,CAACC,IAAI,CAAC;QAEpC,IAAIvF,IAAI,CAAC8F,QAAQ,EAAE;UACf9F,IAAI,CAAC+F,WAAW,CAAC3C,KAAK,CAAC;QAC3B,CAAC,MAAM;UACHpD,IAAI,CAACgG,QAAQ,CAAC5C,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B;MACJ,CAAC,GACD,UAAAmC,IAAI,EAAI;QACJ,IAAMnC,KAAK,GAAGkC,gBAAgB,CAACC,IAAI,CAAC;QACpCvF,IAAI,CAAC+F,WAAW,CAAC3C,KAAK,CAAC;MAC3B,CAAC;MAEP,IAAM6C,WAAsC,GAAGjG,IAAI,CAAC6F,mBAAmB,GACjE,UAAAJ,GAAG,EAAI;QACH,IAAMrC,KAAK,GAAGkC,gBAAgB,CAAC,CAACG,GAAG,CAAC,CAAC;QAErC,IAAIzF,IAAI,CAAC8F,QAAQ,EAAE;UACf9F,IAAI,CAACkG,cAAc,CAAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,MAAM;UACHpD,IAAI,CAACgG,QAAQ,CAAC5C,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B;MACJ,CAAC,GACD,UAAAqC,GAAG,EAAI;QACH,IAAMrC,KAAK,GAAGkC,gBAAgB,CAAC,CAACG,GAAG,CAAC,CAAC;QACrCzF,IAAI,CAACkG,cAAc,CAAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;MACjC,CAAC;MAEP,oBACIxI,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACjH,MAAA,CAAAyJ,KAAK;QACFP,WAAW,EAAEA,WAAY;QACzBK,WAAW,EAAEA,WAAY;QACzBzH,OAAO,EAAEmD,YAAa;QACtByE,eAAe,EAAExE;MAAgB,CACpC,CAAC;IAEV;IAEA,oBACIhH,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACnH,KAAA,CAAA6J,IAAI;MACDjB,OAAO,EAAEpF,IAAI,CAACoF,OAAQ;MACtBkB,OAAO,EAAEtG,IAAI,CAACoD,KAAM;MACpBmD,OAAO,EAAEvG,IAAI,CAACgF,aAAc;MAC5BwB,aAAa,EAAExG,IAAI,CAACyG,WAAY;MAChCC,QAAQ,EAAE1G,IAAI,CAAC0G,QAAS;MACxBZ,QAAQ,EAAE9F,IAAI,CAAC8F,QAAS;MACxBI,cAAc,EAAElG,IAAI,CAACkG,cAAe;MACpCS,WAAW,EAAE3G,IAAI,CAAC2G,WAAY;MAC9BX,QAAQ,EAAEhG,IAAI,CAACgG,QAAS;MACxB9C,OAAO,EAAElD,IAAI,CAACkD,OAAQ;MACtB2C,mBAAmB,EAAE7F,IAAI,CAAC6F;IAAoB,CACjD,CAAC;EAEV,CAAC;EAED,IAAMe,gBAAgB,GAAG,IAAAnE,kBAAW,EAChC,IAAAoE,iBAAQ,EAAC,gBAAAC,KAAA,EAA4D;IAAA,IAAnDC,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACzB,IAAIA,WAAW,CAACC,GAAG,GAAG,GAAG,EAAE;MACvBhH,IAAI,CAACiH,aAAa,CAAC,CAAC;IACxB;EACJ,CAAC,EAAE,GAAG,CAAC,EACP,CAACjH,IAAI,CAACkH,IAAI,EAAElH,IAAI,CAACiH,aAAa,CAClC,CAAC;EAED,IAAME,cAAc,GAAG,IAAA1E,kBAAW,EAAC,YAAM;IACrC7B,sBAAsB,CAAC;MAAEwG,eAAe,EAAEpH,IAAI,CAACwB;IAAS,CAAC,CAAC;EAC9D,CAAC,EAAE,CAACxB,IAAI,CAACwB,QAAQ,CAAC,CAAC;EAEnB,IAAM6F,UAAU,GAAG,IAAA5E,kBAAW,EAC1B,gBAAO6E,IAAc,EAAK;IACtB,IAAQtI,EAAE,GAAkBsI,IAAI,CAAxBtI,EAAE;MAAKuI,QAAQ,OAAAC,yBAAA,CAAA3J,OAAA,EAAKyJ,IAAI,EAAArK,SAAA;IAChCkE,gBAAgB,CAAC,wBAAwB,CAAC;IAC1C,MAAMnB,IAAI,CAACqH,UAAU,CAACrI,EAAE,EAAEuI,QAAQ,CAAC;IACnCpG,gBAAgB,CAAC,IAAI,CAAC;IACtBV,YAAY,CAAC,4BAA4B,CAAC;IAC1CT,IAAI,CAACyH,eAAe,CAAC,CAAC;EAC1B,CAAC,EACD,CAACzH,IAAI,CAACqH,UAAU,CACpB,CAAC;EAED,oBACIzM,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAA/I,MAAA,CAAAiD,OAAA,CAAA+F,QAAA,qBACIhJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC5I,iBAAA,CAAA8C,OAAK;IACFiI,QAAQ;IACR4B,OAAO,EAAE1H,IAAI,CAAC2H,QAAQ,GAAG3H,IAAI,CAAC2H,QAAQ,CAACC,iBAAiB,GAAG,GAAG,GAAG,KAAM;IACvEC,eAAe,EAAE,KAAM;IACvBC,MAAM,EAAE9H,IAAI,CAAC8H,MAAO;IACpBC,SAAS,EAAE,SAAXA,SAASA,CAAE3E,KAAK,EAAI;MAChB,IAAM4E,aAAa,GAAG5E,KAAK,CACtB/E,GAAG,CAAC,UAAAgE,IAAI;QAAA,OAAIA,IAAI,CAAC4F,GAAG,CAAC5F,IAAI;MAAA,EAAC,CAC1BmD,MAAM,CAAC0C,OAAO,CAAW;MAC9B/E,WAAW,CAAC6E,aAAa,CAAC;IAC9B,CAAE;IACFG,OAAO,EAAE,SAATA,OAAOA,CAAE1E,MAAM,EAAI;MACf,IAAMZ,OAAO,GAAG,IAAAuF,kDAAwB,EAAC3E,MAAM,CAAC;MAChDhD,YAAY,CAACoC,OAAO,CAAC;IACzB;EAAE,GAED,UAAAwF,KAAA;IAAA,IAAGC,gBAAgB,GAAAD,KAAA,CAAhBC,gBAAgB;MAAEnE,WAAW,GAAAkE,KAAA,CAAXlE,WAAW;IAAA,oBAC7BvJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAClI,SAAA,CAAA8M,aAAa;MACVC,QAAQ,EAAExI,IAAI,CAACkD,OAAQ;MACvBuF,OAAO,eAAE7N,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAChH,MAAA,CAAA+L,KAAK;QAACC,KAAK,EAAE3I,IAAI,CAAC4I;MAAU,CAAE,CAAE;MAC1CC,SAAS,eAAEjO,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC7G,aAAA,CAAAgM,YAAY,MAAE,CAAE;MAC5BC,QAAQ,eACJnO,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAA/I,MAAA,CAAAiD,OAAA,CAAA+F,QAAA,QACK5D,IAAI,CAAC6F,mBAAmB,IAAI7F,IAAI,CAAC0G,QAAQ,CAACjI,MAAM,GAAG,CAAC,gBACjD7D,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC9H,OAAA,CAAAwI,aAAa;QACVC,IAAI,EAAE,IAAK;QACXC,KAAK,EAAE,IAAK;QACZC,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQxE,IAAI,CAACgG,QAAQ,CAAChG,IAAI,CAAC0G,QAAQ,CAAC;QAAA;MAAC,GAE3ClJ,CAAC,CAAAH,gBAAA,KAAAA,gBAAA,OAAAwG,uBAAA,CAAAhG,OAAA,iBAAS,GAAC,EAACmC,IAAI,CAAC8F,QAAQ,QAAA/G,MAAA,CAAQiB,IAAI,CAAC0G,QAAQ,CAACjI,MAAM,MAC3C,CAAC,GAEhBwF,sBAAsB,CAAC;QAAEE,WAAW,EAAXA;MAAY,CAAuB,CAC/D,eACDvJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC9H,OAAA,CAAAmN,eAAe;QACZ,eAAa,mCAAoC;QACjDxE,OAAO,EAAE2C,cAAe;QACxB5C,KAAK,EAAE,IAAK;QACZ0E,KAAK,EAAE;UAAEC,MAAM,EAAE;QAAQ;MAAE,gBAE3BtO,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC9H,OAAA,CAAA4I,UAAU;QAACC,IAAI,eAAE9J,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACrI,IAAA,CAAAqJ,cAAO,MAAE;MAAE,CAAE,CAAC,EAChCnH,CAAC,CAAAF,gBAAA,KAAAA,gBAAA,OAAAuG,uBAAA,CAAAhG,OAAA,mBACW,CAAC,eAClBjD,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAClH,aAAA,CAAA0M,YAAY,MAAE,CACjB;IACL,gBAEDvO,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAA/I,MAAA,CAAAiD,OAAA,CAAA+F,QAAA,qBACIhJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACpH,YAAA,CAAA6M,WAAW;MACR7C,OAAO,EAAErF,aAAc;MACvBmB,IAAI,EAAEN,WAAY;MAClBsH,IAAI,EAAEnB,OAAO,CAAClI,IAAI,CAACoC,kBAAkB,CAAE;MACvCc,OAAO,EAAElD,IAAI,CAACyH,eAAgB;MAC9B6B,MAAM,EAAEjC;IAAW,CACtB,CAAC,eACFzM,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACjI,UAAA,CAAA6N,SAAS;MAACtH,QAAQ,EAAEA;IAAS,gBAC1BrH,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACjI,UAAA,CAAA8N,SAAS;MAACC,IAAI,EAAE;IAAE,gBACf7O,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC1H,YAAA,CAAAyN,WAAW;MACRC,aAAa,EAAE3J,IAAI,CAACwB,QAAS;MAC7BgF,aAAa,EAAExG,IAAI,CAACyG;IAAY,GAE/BnG,OAAO,CAACsJ,YAAY,gBACjBhP,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC3G,SAAA,CAAA6M,QAAQ;MACLtD,OAAO,EAAEvG,IAAI,CAAC8J,IAAI,CAACvD,OAAQ;MAC3BwD,UAAU,EAAE/J,IAAI,CAAC8J,IAAI,CAACC,UAAW;MACjCD,IAAI,EAAE9J,IAAI,CAAC8J,IAAI,CAACE,OAAQ;MACxBC,qBAAqB,EAAEjK,IAAI,CAAC8J,IAAI,CAACI;IAAc,CAClD,CAAC,GACF,IACK,CACN,CAAC,eACZtP,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACjI,UAAA,CAAAyO,UAAU;MAACV,IAAI,EAAE;IAAG,gBACjB7O,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAChG,eAAe,EAAAyM,MAAA,CAAAC,MAAA,KACR/B,gBAAgB,CAAC;MACjBgC,UAAU,EAAE,SAAZA,UAAUA,CAAA;QAAA,OAAQtK,IAAI,CAACuK,WAAW,CAAC,IAAI,CAAC;MAAA;MACxCC,WAAW,EAAE,SAAbA,WAAWA,CAAA;QAAA,OAAQxK,IAAI,CAACuK,WAAW,CAAC,KAAK,CAAC;MAAA;MAC1CE,MAAM,EAAE,SAARA,MAAMA,CAAA;QAAA,OAAQzK,IAAI,CAACuK,WAAW,CAAC,KAAK,CAAC;MAAA;IACzC,CAAC,CAAC;MACF,eAAa;IAAkB,IAE9BvK,IAAI,CAAC0K,QAAQ,iBAAI9P,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACtH,cAAA,CAAAsO,aAAa,MAAE,CAAC,eACnC/P,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACvH,YAAA,CAAAwO,WAAW,MAAE,CAAC,eACfhQ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC5G,QAAA,CAAA8N,OAAO,MAAE,CAAC,eACXjQ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC7H,UAAA,CAAAgP,SAAS;MACNC,aAAa,EAAE,SAAfA,aAAaA,CAAEhE,WAAW;QAAA,OACtBH,gBAAgB,CAAC;UAAEG,WAAW,EAAXA;QAAY,CAAC,CAAC;MAAA;IACpC,GAEAhC,UAAU,CAACZ,WAAW,CAChB,CAAC,eACZvJ,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAACxH,cAAA,CAAA6O,aAAa;MACVlD,MAAM,EAAE9H,IAAI,CAAC8H,MAAO;MACpBmD,OAAO,EAAEjL,IAAI,CAACkL,iBAAkB;MAChC3E,OAAO,EAAEvG,IAAI,CAACgF,aAAc;MAC5BmG,UAAU,EAAEnL,IAAI,CAACkH,IAAI,EAAEiE,UAAU,IAAI,CAAE;MACvCC,YAAY,EAAEpL,IAAI,CAACoD,KAAK,CAAC3E;IAAO,CACnC,CAAC,eACF7D,MAAA,CAAAiD,OAAA,CAAA8F,aAAA,CAAC/G,aAAA,CAAAyO,YAAY;MACTC,aAAa,EAAE1G,kBAAmB;MAClCE,QAAQ,EAAEA;IAAS,CACtB,CACY,CACT,CACL,CACb,CACS,CAAC;EAAA,CAEjB,CACT,CAAC;AAEX,CAAC;AAAC,IAAAyG,QAAA,GAAAC,OAAA,CAAA3N,OAAA,GAEa,IAAA4N,uBAAQ,EAAC1L,eAAe,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_EMOTION_STRINGIFIED_CSS_ERROR__","Divider","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","LeftSidebarContainer","LeftSidebar","exports","_ref","currentFolder","onFolderClick","children","createElement","FolderTree","focusedFolderId","data","id","enableActions","enableCreate"],"sources":["LeftSidebar.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { FolderTree } from \"@webiny/app-aco\";\n\nconst Divider = styled.div`\n height: 1px;\n background-color: var(--mdc-theme-on-background);\n margin: 12px 8px;\n`;\n\nconst LeftSidebarContainer = styled.div`\n padding: 8px;\n height: calc(100vh - 64px);\n background-color: var(--mdc-theme-surface);\n border-right: 1px solid var(--mdc-theme-on-background);\n overflow-y: scroll;\n`;\n\ninterface LeftSidebarProps {\n currentFolder?: string;\n onFolderClick: (folderId: string) => void;\n children?: React.ReactNode;\n}\n\nexport const LeftSidebar = ({ currentFolder, onFolderClick, children }: LeftSidebarProps) => {\n return (\n <LeftSidebarContainer>\n <FolderTree\n focusedFolderId={currentFolder}\n onFolderClick={data => onFolderClick(data.id)}\n enableActions={true}\n enableCreate={true}\n />\n {children ? <Divider /> : null}\n {children}\n </LeftSidebarContainer>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA6C,SAAAE,iCAAA;AAE7C,IAAMC,OAAO,oBAAAC,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAIZ;AAED,IAAMa,oBAAoB,oBAAAX,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAMzB;AAQM,IAAMc,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAdA,WAAWA,CAAAE,IAAA,EAAqE;EAAA,IAA/DC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAEC,cAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAChE,oBACIvB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACP,oBAAoB,qBACjBjB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,OAAA,CAAAsB,UAAU;IACPC,eAAe,EAAEL,aAAc;IAC/BC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_EMOTION_STRINGIFIED_CSS_ERROR__","Divider","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","LeftSidebarContainer","LeftSidebar","exports","_ref","currentFolder","onFolderClick","children","createElement","FolderTree","focusedFolderId","data","id","enableActions","enableCreate"],"sources":["LeftSidebar.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { FolderTree } from \"@webiny/app-aco\";\n\nconst Divider = styled.div`\n height: 1px;\n background-color: var(--mdc-theme-on-background);\n margin: 12px 8px;\n`;\n\nconst LeftSidebarContainer = styled.div`\n padding: 8px;\n height: calc(100vh - 64px);\n background-color: var(--mdc-theme-surface);\n border-right: 1px solid var(--mdc-theme-on-background);\n overflow-y: scroll;\n`;\n\ninterface LeftSidebarProps {\n currentFolder?: string;\n onFolderClick: (folderId: string) => void;\n children?: React.ReactNode;\n}\n\nexport const LeftSidebar = ({ currentFolder, onFolderClick, children }: LeftSidebarProps) => {\n return (\n <LeftSidebarContainer>\n <FolderTree\n focusedFolderId={currentFolder}\n onFolderClick={data => onFolderClick(data.id)}\n enableActions={true}\n enableCreate={true}\n />\n {children ? <Divider /> : null}\n {children}\n </LeftSidebarContainer>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAA6C,SAAAE,iCAAA;AAE7C,IAAMC,OAAO,oBAAAC,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAIZ;AAED,IAAMa,oBAAoB,oBAAAX,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,EAMzB;AAQM,IAAMc,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAdA,WAAWA,CAAAE,IAAA,EAAqE;EAAA,IAA/DC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAEC,cAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAChE,oBACIvB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACP,oBAAoB,qBACjBjB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,OAAA,CAAAsB,UAAU;IACPC,eAAe,EAAEL,aAAc;IAC/BC,aAAa,EAAE,SAAfA,aAAaA,CAAEK,IAAI;MAAA,OAAIL,cAAa,CAACK,IAAI,CAACC,EAAE,CAAC;IAAA,CAAC;IAC9CC,aAAa,EAAE,IAAK;IACpBC,YAAY,EAAE;EAAK,CACtB,CAAC,EACDP,QAAQ,gBAAGvB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACnB,OAAO,MAAE,CAAC,GAAG,IAAI,EAC7BkB,QACiB,CAAC;AAE/B,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_search","_filter_alt","_filter_alt_off","_Icon","_Button","_","_DelayedOnChange","_EMOTION_STRINGIFIED_CSS_ERROR__","SearchBarIcon","_base","default","Icon","process","env","NODE_ENV","target","label","name","styles","map","toString","FilterButton","IconButton","InputSearch","SearchWidget","exports","fileManager","useFileManagerApi","view","useFileManagerView","_useFileManagerViewCo","useFileManagerViewConfig","browser","toggleFilters","showingFilters","hideFilters","showFilters","createElement","icon","ReactComponent","DelayedOnChange","value","searchQuery","onChange","setSearchQuery","_ref","id","e","placeholder","searchLabel","disabled","canRead","filters","length","onClick"],"sources":["SearchWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\nimport { ReactComponent as FilterIcon } from \"@material-design-icons/svg/outlined/filter_alt.svg\";\nimport { ReactComponent as CloseFilterIcon } from \"@material-design-icons/svg/outlined/filter_alt_off.svg\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useFileManagerApi, useFileManagerView, useFileManagerViewConfig } from \"~/index\";\nimport { DelayedOnChange } from \"@webiny/ui/DelayedOnChange\";\n\nconst SearchBarIcon = styled(Icon)`\n &.mdc-button__icon {\n color: var(--mdc-theme-text-secondary-on-background);\n position: absolute;\n width: 24px;\n height: 24px;\n left: 8px;\n top: 8px;\n }\n`;\n\nconst FilterButton = styled(IconButton)`\n position: absolute;\n top: -4px;\n right: -3px;\n`;\n\nconst InputSearch = styled.div`\n background-color: var(--mdc-theme-on-background);\n position: relative;\n height: 32px;\n padding: 3px;\n width: 100%;\n border-radius: 2px;\n > input {\n border: none;\n font-size: 14px;\n width: calc(100% - 10px);\n height: 100%;\n margin-left: 32px;\n background-color: transparent;\n outline: none;\n color: var(--mdc-theme-text-primary-on-background);\n }\n`;\n\nexport const SearchWidget = () => {\n const fileManager = useFileManagerApi();\n const view = useFileManagerView();\n const { browser } = useFileManagerViewConfig();\n\n const toggleFilters = () => {\n if (view.showingFilters) {\n view.hideFilters();\n } else {\n view.showFilters();\n }\n };\n\n return (\n <InputSearch>\n <SearchBarIcon icon={<SearchIcon />} />\n <DelayedOnChange\n value={view.searchQuery}\n onChange={value => view.setSearchQuery(value)}\n >\n {({ value, onChange }) => (\n <input\n id={\"file-manager__search-input\"}\n value={value}\n onChange={e => onChange(e.target.value)}\n placeholder={view.searchLabel || \"Search all files\"}\n disabled={!fileManager.canRead}\n data-testid={\"file-manager.search-input\"}\n />\n )}\n </DelayedOnChange>\n {browser.filters.length > 0 ? (\n <FilterButton\n icon={view.showingFilters ? <CloseFilterIcon /> : <FilterIcon />}\n onClick={toggleFilters}\n />\n ) : null}\n </InputSearch>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,CAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAA6D,SAAAQ,iCAAA;AAE7D,IAAMC,aAAa,gBAAG,IAAAC,KAAA,CAAAC,OAAA,EAAOC,UAAI,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAb;AAAA,EASjC;AAED,IAAMc,YAAY,gBAAG,IAAAZ,KAAA,CAAAC,OAAA,EAAOY,kBAAU,EAAAV,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAb;AAAA,EAItC;AAED,IAAMgB,WAAW,oBAAAd,KAAA,CAAAC,OAAA,SAAAE,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAb;AAAA,EAiBhB;AAEM,IAAMiB,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAC9B,IAAME,WAAW,GAAG,IAAAC,mBAAiB,EAAC,CAAC;EACvC,IAAMC,IAAI,GAAG,IAAAC,oBAAkB,EAAC,CAAC;EACjC,IAAAC,qBAAA,GAAoB,IAAAC,0BAAwB,EAAC,CAAC;IAAtCC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;EAEf,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;IACxB,IAAIL,IAAI,CAACM,cAAc,EAAE;MACrBN,IAAI,CAACO,WAAW,CAAC,CAAC;IACtB,CAAC,MAAM;MACHP,IAAI,CAACQ,WAAW,CAAC,CAAC;IACtB;EACJ,CAAC;EAED,oBACIvC,MAAA,CAAAa,OAAA,CAAA2B,aAAA,CAACd,WAAW,qBACR1B,MAAA,CAAAa,OAAA,CAAA2B,aAAA,CAAC7B,aAAa;IAAC8B,IAAI,eAAEzC,MAAA,CAAAa,OAAA,CAAA2B,aAAA,CAACrC,OAAA,CAAAuC,cAAU,MAAE;EAAE,CAAE,CAAC,eACvC1C,MAAA,CAAAa,OAAA,CAAA2B,aAAA,CAAC/B,gBAAA,CAAAkC,eAAe;IACZC,KAAK,EAAEb,IAAI,CAACc,WAAY;IACxBC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_search","_filter_alt","_filter_alt_off","_Icon","_Button","_","_DelayedOnChange","_EMOTION_STRINGIFIED_CSS_ERROR__","SearchBarIcon","_base","default","Icon","process","env","NODE_ENV","target","label","name","styles","map","toString","FilterButton","IconButton","InputSearch","SearchWidget","exports","fileManager","useFileManagerApi","view","useFileManagerView","_useFileManagerViewCo","useFileManagerViewConfig","browser","toggleFilters","showingFilters","hideFilters","showFilters","createElement","icon","ReactComponent","DelayedOnChange","value","searchQuery","onChange","setSearchQuery","_ref","id","e","placeholder","searchLabel","disabled","canRead","filters","length","onClick"],"sources":["SearchWidget.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\nimport { ReactComponent as FilterIcon } from \"@material-design-icons/svg/outlined/filter_alt.svg\";\nimport { ReactComponent as CloseFilterIcon } from \"@material-design-icons/svg/outlined/filter_alt_off.svg\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useFileManagerApi, useFileManagerView, useFileManagerViewConfig } from \"~/index\";\nimport { DelayedOnChange } from \"@webiny/ui/DelayedOnChange\";\n\nconst SearchBarIcon = styled(Icon)`\n &.mdc-button__icon {\n color: var(--mdc-theme-text-secondary-on-background);\n position: absolute;\n width: 24px;\n height: 24px;\n left: 8px;\n top: 8px;\n }\n`;\n\nconst FilterButton = styled(IconButton)`\n position: absolute;\n top: -4px;\n right: -3px;\n`;\n\nconst InputSearch = styled.div`\n background-color: var(--mdc-theme-on-background);\n position: relative;\n height: 32px;\n padding: 3px;\n width: 100%;\n border-radius: 2px;\n > input {\n border: none;\n font-size: 14px;\n width: calc(100% - 10px);\n height: 100%;\n margin-left: 32px;\n background-color: transparent;\n outline: none;\n color: var(--mdc-theme-text-primary-on-background);\n }\n`;\n\nexport const SearchWidget = () => {\n const fileManager = useFileManagerApi();\n const view = useFileManagerView();\n const { browser } = useFileManagerViewConfig();\n\n const toggleFilters = () => {\n if (view.showingFilters) {\n view.hideFilters();\n } else {\n view.showFilters();\n }\n };\n\n return (\n <InputSearch>\n <SearchBarIcon icon={<SearchIcon />} />\n <DelayedOnChange\n value={view.searchQuery}\n onChange={value => view.setSearchQuery(value)}\n >\n {({ value, onChange }) => (\n <input\n id={\"file-manager__search-input\"}\n value={value}\n onChange={e => onChange(e.target.value)}\n placeholder={view.searchLabel || \"Search all files\"}\n disabled={!fileManager.canRead}\n data-testid={\"file-manager.search-input\"}\n />\n )}\n </DelayedOnChange>\n {browser.filters.length > 0 ? (\n <FilterButton\n icon={view.showingFilters ? <CloseFilterIcon /> : <FilterIcon />}\n onClick={toggleFilters}\n />\n ) : null}\n </InputSearch>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_label","_label2","_Typography","_styled","Tag","exports","_ref","tagItem","active","onTagClick","default","createElement","TagContainer","onClick","Icon","ReactComponent","Typography","use","tag"],"sources":["Tag.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ReactComponent as TagIconOutlined } from \"@material-design-icons/svg/outlined/label.svg\";\nimport { ReactComponent as TagIconRound } from \"@material-design-icons/svg/round/label.svg\";\nimport { TagItem } from \"@webiny/app-aco/types\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { TagContainer, Icon } from \"./styled\";\n\ntype TagProps = {\n tagItem: TagItem;\n active: boolean;\n onTagClick: (tagItem: TagItem) => void;\n};\n\nexport const Tag = ({ tagItem, active, onTagClick }: TagProps) => {\n return (\n <TagContainer onClick={() => onTagClick(tagItem)}>\n <Icon active={active}>{active ? <TagIconRound /> : <TagIconOutlined />}</Icon>\n <Typography use={\"body2\"} tag={\"div\"}>\n {tagItem.tag}\n </Typography>\n </TagContainer>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAQO,IAAMK,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG,SAANA,GAAGA,CAAAE,IAAA,EAAkD;EAAA,IAA5CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAC7C,oBACIZ,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACR,OAAA,CAAAS,YAAY;IAACC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_label","_label2","_Typography","_styled","Tag","exports","_ref","tagItem","active","onTagClick","default","createElement","TagContainer","onClick","Icon","ReactComponent","Typography","use","tag"],"sources":["Tag.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { ReactComponent as TagIconOutlined } from \"@material-design-icons/svg/outlined/label.svg\";\nimport { ReactComponent as TagIconRound } from \"@material-design-icons/svg/round/label.svg\";\nimport { TagItem } from \"@webiny/app-aco/types\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { TagContainer, Icon } from \"./styled\";\n\ntype TagProps = {\n tagItem: TagItem;\n active: boolean;\n onTagClick: (tagItem: TagItem) => void;\n};\n\nexport const Tag = ({ tagItem, active, onTagClick }: TagProps) => {\n return (\n <TagContainer onClick={() => onTagClick(tagItem)}>\n <Icon active={active}>{active ? <TagIconRound /> : <TagIconOutlined />}</Icon>\n <Typography use={\"body2\"} tag={\"div\"}>\n {tagItem.tag}\n </Typography>\n </TagContainer>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAQO,IAAMK,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG,SAANA,GAAGA,CAAAE,IAAA,EAAkD;EAAA,IAA5CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAC7C,oBACIZ,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACR,OAAA,CAAAS,YAAY;IAACC,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQJ,UAAU,CAACF,OAAO,CAAC;IAAA;EAAC,gBAC7CV,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACR,OAAA,CAAAW,IAAI;IAACN,MAAM,EAAEA;EAAO,GAAEA,MAAM,gBAAGX,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAc,cAAY,MAAE,CAAC,gBAAGlB,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAe,cAAe,MAAE,CAAQ,CAAC,eAC9ElB,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACT,WAAA,CAAAc,UAAU;IAACC,GAAG,EAAE,OAAQ;IAACC,GAAG,EAAE;EAAM,GAChCX,OAAO,CAACW,GACD,CACF,CAAC;AAEvB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAco","_Empty","_Tag","_FileManagerViewProvider","_styled","options","value","label","TagsList","exports","_ref","loading","tags","emptyDisclaimer","onActivatedTagsChange","activeTags","fmView","useFileManagerView","toggleTag","useCallback","tag","finalTags","Array","isArray","_toConsumableArray2","default","find","item","splice","indexOf","push","createElement","Loader","length","Fragment","TagListWrapper","TagsTitle","use","TagsFilterSelect","disabled","size","filterMode","onChange","mode","setFilterMode","map","tagItem","index","Tag","key","concat","active","includes","onTagClick","Empty","disclaimer"],"sources":["TagsList.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Loader } from \"@webiny/app-aco\";\nimport { Empty } from \"./Empty\";\nimport { Tag } from \"./Tag\";\nimport { TagItem } from \"@webiny/app-aco/types\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { TagListWrapper, TagsFilterSelect, TagsTitle } from \"./styled\";\n\ninterface TagListProps {\n loading: boolean;\n onActivatedTagsChange: (tags: string[]) => void;\n tags: TagItem[];\n activeTags: string[];\n emptyDisclaimer?: string;\n}\n\nconst options = [\n {\n value: \"OR\",\n label: \"Match any\"\n },\n {\n value: \"AND\",\n label: \"Match all\"\n }\n];\n\nexport const TagsList = ({\n loading,\n tags,\n emptyDisclaimer,\n onActivatedTagsChange,\n activeTags\n}: TagListProps) => {\n const fmView = useFileManagerView();\n\n const toggleTag = useCallback(\n (tag: TagItem[\"tag\"]) => {\n const finalTags = Array.isArray(activeTags) ? [...activeTags] : [];\n\n if (finalTags.find(item => tag === item)) {\n finalTags.splice(finalTags.indexOf(tag), 1);\n } else {\n finalTags.push(tag);\n }\n\n onActivatedTagsChange(finalTags);\n },\n [activeTags]\n );\n\n if (loading) {\n return <Loader />;\n }\n\n if (tags.length > 0) {\n return (\n <>\n <TagListWrapper>\n <TagsTitle use=\"subtitle1\">Filter by tag</TagsTitle>\n {tags.length > 1 ? (\n <TagsFilterSelect\n disabled={fmView.tags.activeTags.length < 2}\n size={\"small\"}\n value={fmView.tags.filterMode}\n onChange={mode => fmView.tags.setFilterMode(mode)}\n options={options}\n />\n ) : null}\n </TagListWrapper>\n\n {tags.map((tagItem, index) => (\n <Tag\n key={`tag-${index}`}\n tagItem={tagItem}\n active={activeTags.includes(tagItem.tag)}\n onTagClick={tagItem => {\n toggleTag(tagItem.tag);\n }}\n />\n ))}\n </>\n );\n }\n\n return <Empty disclaimer={emptyDisclaimer} />;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAEA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAUA,IAAMM,OAAO,GAAG,CACZ;EACIC,KAAK,EAAE,IAAI;EACXC,KAAK,EAAE;AACX,CAAC,EACD;EACID,KAAK,EAAE,KAAK;EACZC,KAAK,EAAE;AACX,CAAC,CACJ;AAEM,IAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAAE,IAAA,EAMD;EAAA,IALhBC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,qBAAqB,GAAAJ,IAAA,CAArBI,qBAAqB;IACrBC,UAAU,GAAAL,IAAA,CAAVK,UAAU;EAEV,IAAMC,MAAM,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EAEnC,IAAMC,SAAS,GAAG,IAAAC,kBAAW,EACzB,UAACC,GAAmB,EAAK;IACrB,IAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACR,UAAU,CAAC,OAAAS,mBAAA,CAAAC,OAAA,EAAOV,UAAU,IAAI,EAAE;IAElE,IAAIM,SAAS,CAACK,IAAI,CAAC,UAAAC,IAAI;MAAA,OAAIP,GAAG,KAAKO,IAAI;IAAA,EAAC,EAAE;MACtCN,SAAS,CAACO,MAAM,CAACP,SAAS,CAACQ,OAAO,CAACT,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,MAAM;MACHC,SAAS,CAACS,IAAI,CAACV,GAAG,CAAC;IACvB;IAEAN,qBAAqB,CAACO,SAAS,CAAC;EACpC,CAAC,EACD,CAACN,UAAU,CACf,CAAC;EAED,IAAIJ,OAAO,EAAE;IACT,oBAAOd,MAAA,CAAA4B,OAAA,CAAAM,aAAA,CAAC/B,OAAA,CAAAgC,MAAM,MAAE,CAAC;EACrB;EAEA,IAAIpB,IAAI,CAACqB,MAAM,GAAG,CAAC,EAAE;IACjB,oBACIpC,MAAA,CAAA4B,OAAA,CAAAM,aAAA,CAAAlC,MAAA,CAAA4B,OAAA,CAAAS,QAAA,qBACIrC,MAAA,CAAA4B,OAAA,CAAAM,aAAA,CAAC3B,OAAA,CAAA+B,cAAc,qBACXtC,MAAA,CAAA4B,OAAA,CAAAM,aAAA,CAAC3B,OAAA,CAAAgC,SAAS;MAACC,GAAG,EAAC;IAAW,GAAC,eAAwB,CAAC,EACnDzB,IAAI,CAACqB,MAAM,GAAG,CAAC,gBACZpC,MAAA,CAAA4B,OAAA,CAAAM,aAAA,CAAC3B,OAAA,CAAAkC,gBAAgB;MACbC,QAAQ,EAAEvB,MAAM,CAACJ,IAAI,CAACG,UAAU,CAACkB,MAAM,GAAG,CAAE;MAC5CO,IAAI,EAAE,OAAQ;MACdlC,KAAK,EAAEU,MAAM,CAACJ,IAAI,CAAC6B,UAAW;MAC9BC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAco","_Empty","_Tag","_FileManagerViewProvider","_styled","options","value","label","TagsList","exports","_ref","loading","tags","emptyDisclaimer","onActivatedTagsChange","activeTags","fmView","useFileManagerView","toggleTag","useCallback","tag","finalTags","Array","isArray","_toConsumableArray2","default","find","item","splice","indexOf","push","createElement","Loader","length","Fragment","TagListWrapper","TagsTitle","use","TagsFilterSelect","disabled","size","filterMode","onChange","mode","setFilterMode","map","tagItem","index","Tag","key","concat","active","includes","onTagClick","Empty","disclaimer"],"sources":["TagsList.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Loader } from \"@webiny/app-aco\";\nimport { Empty } from \"./Empty\";\nimport { Tag } from \"./Tag\";\nimport { TagItem } from \"@webiny/app-aco/types\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { TagListWrapper, TagsFilterSelect, TagsTitle } from \"./styled\";\n\ninterface TagListProps {\n loading: boolean;\n onActivatedTagsChange: (tags: string[]) => void;\n tags: TagItem[];\n activeTags: string[];\n emptyDisclaimer?: string;\n}\n\nconst options = [\n {\n value: \"OR\",\n label: \"Match any\"\n },\n {\n value: \"AND\",\n label: \"Match all\"\n }\n];\n\nexport const TagsList = ({\n loading,\n tags,\n emptyDisclaimer,\n onActivatedTagsChange,\n activeTags\n}: TagListProps) => {\n const fmView = useFileManagerView();\n\n const toggleTag = useCallback(\n (tag: TagItem[\"tag\"]) => {\n const finalTags = Array.isArray(activeTags) ? [...activeTags] : [];\n\n if (finalTags.find(item => tag === item)) {\n finalTags.splice(finalTags.indexOf(tag), 1);\n } else {\n finalTags.push(tag);\n }\n\n onActivatedTagsChange(finalTags);\n },\n [activeTags]\n );\n\n if (loading) {\n return <Loader />;\n }\n\n if (tags.length > 0) {\n return (\n <>\n <TagListWrapper>\n <TagsTitle use=\"subtitle1\">Filter by tag</TagsTitle>\n {tags.length > 1 ? (\n <TagsFilterSelect\n disabled={fmView.tags.activeTags.length < 2}\n size={\"small\"}\n value={fmView.tags.filterMode}\n onChange={mode => fmView.tags.setFilterMode(mode)}\n options={options}\n />\n ) : null}\n </TagListWrapper>\n\n {tags.map((tagItem, index) => (\n <Tag\n key={`tag-${index}`}\n tagItem={tagItem}\n active={activeTags.includes(tagItem.tag)}\n onTagClick={tagItem => {\n toggleTag(tagItem.tag);\n }}\n />\n ))}\n </>\n );\n }\n\n return <Empty disclaimer={emptyDisclaimer} />;\n};\n"],"mappings":"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","ignoreList":[]}
|