@webiny/app-file-manager 5.41.4 → 5.42.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/BatchFileUploader.js.map +1 -1
  2. package/components/BottomInfoBar/SupportedFileTypes.js +4 -4
  3. package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  4. package/components/BulkActions/ActionDelete.js.map +1 -1
  5. package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -1
  6. package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -1
  7. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -1
  8. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -1
  9. package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -1
  10. package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -1
  11. package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -1
  12. package/components/BulkActions/ActionEdit/domain/Batch.js.map +1 -1
  13. package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -1
  14. package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -1
  15. package/components/BulkActions/ActionEdit/domain/FieldMapper.js.map +1 -1
  16. package/components/BulkActions/ActionEdit/useActionEditWorker.js.map +1 -1
  17. package/components/BulkActions/ActionMove.js.map +1 -1
  18. package/components/BulkActions/BulkActions.js.map +1 -1
  19. package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js.map +1 -1
  20. package/components/EditFileUsingUrl/GetFileByUrl.js.map +1 -1
  21. package/components/EditFileUsingUrl/Loading.js.map +1 -1
  22. package/components/EditFileUsingUrl/UpdateFile.js.map +1 -1
  23. package/components/Empty/Empty.js.map +1 -1
  24. package/components/LayoutSwitch/LayoutSwitch.js.map +1 -1
  25. package/components/Table/Actions/EditFile.js.map +1 -1
  26. package/components/Table/Cells/CellName.js.map +1 -1
  27. package/components/fields/AccessControl.js.map +1 -1
  28. package/hooks/useMoveFileToFolder.js.map +1 -1
  29. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js.map +1 -1
  30. package/modules/FileManagerRenderer/FileActions/FileDetails/Download.js.map +1 -1
  31. package/modules/FileManagerRenderer/FileActions/FileDetails/EditImage.js.map +1 -1
  32. package/modules/FileManagerRenderer/FileActions/Grid/Download.js.map +1 -1
  33. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +1 -1
  34. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
  35. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -1
  36. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js.map +1 -1
  37. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -1
  38. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -1
  39. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -1
  40. package/modules/FileManagerRenderer/FileManagerView/index.js +13 -3
  41. package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
  42. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +3 -3
  43. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +41 -5
  44. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  45. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +2 -1
  46. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +7 -1
  47. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
  48. package/modules/FileManagerRenderer/filters/FilterByType.js.map +1 -1
  49. package/modules/HeadlessCms/fileField.js.map +1 -1
  50. package/modules/HeadlessCms/fileRenderer/File.js.map +1 -1
  51. package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -1
  52. package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -1
  53. package/modules/Settings/plugins/installation.js.map +1 -1
  54. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
  55. package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -1
  56. package/modules/Settings/views/FileManagerSettings.js.map +1 -1
  57. package/package.json +24 -30
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_mobx","FileJob","_createClass2","default","file","_classCallCheck2","id","generateId","BatchFileUploader","exports","uploader","_defineProperty2","Map","makeAutoObservable","key","value","getJobs","fileJobs","addFiles","files","_this","forEach","fileJob","push","uploadStatus","set","upload","reset","clear","get","progressInBytes","Array","from","values","loadedBytes","reduce","a","b","totalBytesToUpload","sum","job","size","Math","min","onUploadFinished","cb","onUploadFinishedCallback","_this2","uploading","errors","uploaded","_loop","getNextFile","newFile","onProgress","action","event","sent","e","runInAction","_this3","find"],"sources":["BatchFileUploader.ts"],"sourcesContent":["import { generateId } from \"@webiny/utils\";\nimport { makeAutoObservable, runInAction, action } from \"mobx\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { FileManagerViewContext } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nexport interface FileError {\n file: File;\n e: Error;\n}\n\ninterface OnUploadFinishedParams {\n uploaded: FileItem[];\n errors: FileError[];\n}\n\ninterface OnUploadFinishedCallback {\n (params: OnUploadFinishedParams): void;\n}\n\nclass FileJob {\n public id: string;\n public file: File;\n\n constructor(file: File) {\n this.id = generateId();\n this.file = file;\n }\n}\n\nexport class BatchFileUploader {\n private readonly uploader: FileManagerViewContext[\"uploadFile\"];\n private fileJobs: FileJob[] = [];\n private onUploadFinishedCallback: OnUploadFinishedCallback | undefined;\n private uploading = false;\n private uploadStatus: Map<string, number> = new Map();\n\n constructor(uploader: FileManagerViewContext[\"uploadFile\"]) {\n this.uploader = uploader;\n makeAutoObservable(this);\n }\n\n public getJobs() {\n return this.fileJobs;\n }\n\n public addFiles(files: File[]) {\n files.forEach(file => {\n const fileJob = new FileJob(file);\n this.fileJobs.push(fileJob);\n this.uploadStatus.set(fileJob.id, 0);\n });\n\n this.upload();\n }\n\n public reset() {\n this.fileJobs = [];\n this.uploadStatus.clear();\n }\n\n get progress() {\n const progressInBytes = Array.from(this.uploadStatus.values());\n const loadedBytes = progressInBytes.reduce((a, b) => a + b, 0);\n const totalBytesToUpload = this.fileJobs.reduce((sum, job) => sum + job.file.size, 0);\n return Math.min((100 * loadedBytes) / totalBytesToUpload, 100);\n }\n\n public onUploadFinished(cb: OnUploadFinishedCallback) {\n this.onUploadFinishedCallback = cb;\n }\n\n private async upload() {\n if (this.uploading) {\n return;\n }\n\n this.uploading = true;\n\n const errors: FileError[] = [];\n const uploaded: FileItem[] = [];\n\n while (true) {\n const fileJob = this.getNextFile();\n\n if (!fileJob) {\n break;\n }\n\n try {\n const newFile = await this.uploader(fileJob.file, {\n onProgress: action(\"BatchFileUploader.onProgress\", event => {\n this.uploadStatus.set(fileJob.id, event.sent);\n })\n });\n\n if (newFile) {\n uploaded.push(newFile);\n }\n } catch (e) {\n runInAction(() => {\n this.uploadStatus.set(fileJob.id, -1);\n });\n\n errors.push({ file: fileJob.file, e });\n }\n }\n\n runInAction(() => {\n this.uploading = false;\n });\n\n if (this.onUploadFinishedCallback) {\n this.onUploadFinishedCallback({ uploaded, errors });\n }\n }\n\n private getNextFile() {\n return this.fileJobs.find(file => this.uploadStatus.get(file.id) === 0);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","_mobx","FileJob","_createClass2","default","file","_classCallCheck2","id","generateId","BatchFileUploader","exports","uploader","_defineProperty2","Map","makeAutoObservable","key","value","getJobs","fileJobs","addFiles","files","_this","forEach","fileJob","push","uploadStatus","set","upload","reset","clear","get","progressInBytes","Array","from","values","loadedBytes","reduce","a","b","totalBytesToUpload","sum","job","size","Math","min","onUploadFinished","cb","onUploadFinishedCallback","_this2","uploading","errors","uploaded","_loop","getNextFile","newFile","onProgress","action","event","sent","e","runInAction","_this3","find"],"sources":["BatchFileUploader.ts"],"sourcesContent":["import { generateId } from \"@webiny/utils\";\nimport { makeAutoObservable, runInAction, action } from \"mobx\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { FileManagerViewContext } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nexport interface FileError {\n file: File;\n e: Error;\n}\n\ninterface OnUploadFinishedParams {\n uploaded: FileItem[];\n errors: FileError[];\n}\n\ninterface OnUploadFinishedCallback {\n (params: OnUploadFinishedParams): void;\n}\n\nclass FileJob {\n public id: string;\n public file: File;\n\n constructor(file: File) {\n this.id = generateId();\n this.file = file;\n }\n}\n\nexport class BatchFileUploader {\n private readonly uploader: FileManagerViewContext[\"uploadFile\"];\n private fileJobs: FileJob[] = [];\n private onUploadFinishedCallback: OnUploadFinishedCallback | undefined;\n private uploading = false;\n private uploadStatus: Map<string, number> = new Map();\n\n constructor(uploader: FileManagerViewContext[\"uploadFile\"]) {\n this.uploader = uploader;\n makeAutoObservable(this);\n }\n\n public getJobs() {\n return this.fileJobs;\n }\n\n public addFiles(files: File[]) {\n files.forEach(file => {\n const fileJob = new FileJob(file);\n this.fileJobs.push(fileJob);\n this.uploadStatus.set(fileJob.id, 0);\n });\n\n this.upload();\n }\n\n public reset() {\n this.fileJobs = [];\n this.uploadStatus.clear();\n }\n\n get progress() {\n const progressInBytes = Array.from(this.uploadStatus.values());\n const loadedBytes = progressInBytes.reduce((a, b) => a + b, 0);\n const totalBytesToUpload = this.fileJobs.reduce((sum, job) => sum + job.file.size, 0);\n return Math.min((100 * loadedBytes) / totalBytesToUpload, 100);\n }\n\n public onUploadFinished(cb: OnUploadFinishedCallback) {\n this.onUploadFinishedCallback = cb;\n }\n\n private async upload() {\n if (this.uploading) {\n return;\n }\n\n this.uploading = true;\n\n const errors: FileError[] = [];\n const uploaded: FileItem[] = [];\n\n while (true) {\n const fileJob = this.getNextFile();\n\n if (!fileJob) {\n break;\n }\n\n try {\n const newFile = await this.uploader(fileJob.file, {\n onProgress: action(\"BatchFileUploader.onProgress\", event => {\n this.uploadStatus.set(fileJob.id, event.sent);\n })\n });\n\n if (newFile) {\n uploaded.push(newFile);\n }\n } catch (e) {\n runInAction(() => {\n this.uploadStatus.set(fileJob.id, -1);\n });\n\n errors.push({ file: fileJob.file, e });\n }\n }\n\n runInAction(() => {\n this.uploading = false;\n });\n\n if (this.onUploadFinishedCallback) {\n this.onUploadFinishedCallback({ uploaded, errors });\n }\n }\n\n private getNextFile() {\n return this.fileJobs.find(file => this.uploadStatus.get(file.id) === 0);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -45,13 +45,13 @@ var SupportedFileTypes = function SupportedFileTypes(_ref) {
45
45
  return null;
46
46
  }
47
47
  if (accept.length === 0) {
48
- return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Showing {currentCount} out of {totalCountLabel} from all file extensions."])))({
49
- currentCount: currentCount,
48
+ return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Showing {currentCountLabel} out of {totalCountLabel} from all file extensions."])))({
49
+ currentCountLabel: String(currentCount),
50
50
  totalCountLabel: getLabel(totalCount)
51
51
  }));
52
52
  }
53
- return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Showing {currentCount} out of {totalCountLabel} from the following file extensions: {files}."])))({
54
- currentCount: currentCount,
53
+ return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Showing {currentCountLabel} out of {totalCountLabel} from the following file extensions: {files}."])))({
54
+ currentCountLabel: String(currentCount),
55
55
  totalCountLabel: getLabel(totalCount),
56
56
  files: getUniqueFilePlugins(accept).join(", ")
57
57
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_i18n","_lite","_interopRequireDefault","_templateObject","_templateObject2","mime","define","t","i18n","ns","getUniqueFilePlugins","accept","exts","forEach","item","ext","getExtension","Object","keys","SupportedFileTypes","_ref","loading","totalCount","currentCount","getLabel","useCallback","count","arguments","length","undefined","concat","default","createElement","_taggedTemplateLiteral2","totalCountLabel","files","join","_default","exports"],"sources":["SupportedFileTypes.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime/lite\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nconst t = i18n.ns(\"app-admin/file-manager/components/bottom-info-bar/supported-files\");\n\nconst getUniqueFilePlugins = (accept: string[]): string[] => {\n const exts: Record<string, boolean> = {};\n accept.forEach(item => {\n const ext = mime.getExtension(item);\n if (!ext) {\n return;\n }\n exts[ext] = true;\n });\n\n return Object.keys(exts);\n};\n\nexport interface SupportedFileTypesProps {\n accept: string[];\n loading: boolean;\n totalCount: number;\n currentCount: number;\n}\n\nconst SupportedFileTypes = ({\n accept,\n loading,\n totalCount,\n currentCount\n}: SupportedFileTypesProps) => {\n const getLabel = useCallback((count = 0): string => {\n return `${count} ${count === 1 ? \"file\" : \"files\"}`;\n }, []);\n\n if (!accept || loading) {\n return null;\n }\n\n if (accept.length === 0) {\n return (\n <span>\n {t`Showing {currentCount} out of {totalCountLabel} from all file extensions.`({\n currentCount,\n totalCountLabel: getLabel(totalCount)\n })}\n </span>\n );\n }\n\n return (\n <span>\n {t`Showing {currentCount} out of {totalCountLabel} from the following file extensions: {files}.`(\n {\n currentCount,\n totalCountLabel: getLabel(totalCount),\n files: getUniqueFilePlugins(accept).join(\", \")\n }\n )}\n </span>\n );\n};\n\nexport default SupportedFileTypes;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6B,IAAAI,eAAA,EAAAC,gBAAA;AAE7BC,aAAI,CAACC,MAAM,CAAC;EAAE,cAAc,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC9CD,aAAI,CAACC,MAAM,CAAC;EAAE,WAAW,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC3CD,aAAI,CAACC,MAAM,CAAC;EAAE,0BAA0B,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAE1D,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mEAAmE,CAAC;AAEtF,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,MAAgB,EAAe;EACzD,IAAMC,IAA6B,GAAG,CAAC,CAAC;EACxCD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;IACnB,IAAMC,GAAG,GAAGV,aAAI,CAACW,YAAY,CAACF,IAAI,CAAC;IACnC,IAAI,CAACC,GAAG,EAAE;MACN;IACJ;IACAH,IAAI,CAACG,GAAG,CAAC,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,OAAOE,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC;AAC5B,CAAC;AASD,IAAMO,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAKO;EAAA,IAJ3BT,MAAM,GAAAS,IAAA,CAANT,MAAM;IACNU,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,YAAY,GAAAH,IAAA,CAAZG,YAAY;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC,YAAuB;IAAA,IAAtBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IACnC,UAAAG,MAAA,CAAUJ,KAAK,OAAAI,MAAA,CAAIJ,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;EACrD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACf,MAAM,IAAIU,OAAO,EAAE;IACpB,OAAO,IAAI;EACf;EAEA,IAAIV,MAAM,CAACiB,MAAM,KAAK,CAAC,EAAE;IACrB,oBACI/B,MAAA,CAAAkC,OAAA,CAAAC,aAAA,eACKzB,CAAC,CAAAJ,eAAA,KAAAA,eAAA,OAAA8B,uBAAA,CAAAF,OAAA,mFAA4E;MAC1ER,YAAY,EAAZA,YAAY;MACZW,eAAe,EAAEV,QAAQ,CAACF,UAAU;IACxC,CAAC,CACC,CAAC;EAEf;EAEA,oBACIzB,MAAA,CAAAkC,OAAA,CAAAC,aAAA,eACKzB,CAAC,CAAAH,gBAAA,KAAAA,gBAAA,OAAA6B,uBAAA,CAAAF,OAAA,sGACE;IACIR,YAAY,EAAZA,YAAY;IACZW,eAAe,EAAEV,QAAQ,CAACF,UAAU,CAAC;IACrCa,KAAK,EAAEzB,oBAAoB,CAACC,MAAM,CAAC,CAACyB,IAAI,CAAC,IAAI;EACjD,CACJ,CACE,CAAC;AAEf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAP,OAAA,GAEaZ,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_i18n","_lite","_interopRequireDefault","_templateObject","_templateObject2","mime","define","t","i18n","ns","getUniqueFilePlugins","accept","exts","forEach","item","ext","getExtension","Object","keys","SupportedFileTypes","_ref","loading","totalCount","currentCount","getLabel","useCallback","count","arguments","length","undefined","concat","default","createElement","_taggedTemplateLiteral2","currentCountLabel","String","totalCountLabel","files","join","_default","exports"],"sources":["SupportedFileTypes.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime/lite\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nconst t = i18n.ns(\"app-admin/file-manager/components/bottom-info-bar/supported-files\");\n\nconst getUniqueFilePlugins = (accept: string[]): string[] => {\n const exts: Record<string, boolean> = {};\n accept.forEach(item => {\n const ext = mime.getExtension(item);\n if (!ext) {\n return;\n }\n exts[ext] = true;\n });\n\n return Object.keys(exts);\n};\n\nexport interface SupportedFileTypesProps {\n accept: string[];\n loading: boolean;\n totalCount: number;\n currentCount: number;\n}\n\nconst SupportedFileTypes = ({\n accept,\n loading,\n totalCount,\n currentCount\n}: SupportedFileTypesProps) => {\n const getLabel = useCallback((count = 0): string => {\n return `${count} ${count === 1 ? \"file\" : \"files\"}`;\n }, []);\n\n if (!accept || loading) {\n return null;\n }\n\n if (accept.length === 0) {\n return (\n <span>\n {t`Showing {currentCountLabel} out of {totalCountLabel} from all file extensions.`({\n currentCountLabel: String(currentCount),\n totalCountLabel: getLabel(totalCount)\n })}\n </span>\n );\n }\n\n return (\n <span>\n {t`Showing {currentCountLabel} out of {totalCountLabel} from the following file extensions: {files}.`(\n {\n currentCountLabel: String(currentCount),\n totalCountLabel: getLabel(totalCount),\n files: getUniqueFilePlugins(accept).join(\", \")\n }\n )}\n </span>\n );\n};\n\nexport default SupportedFileTypes;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6B,IAAAI,eAAA,EAAAC,gBAAA;AAE7BC,aAAI,CAACC,MAAM,CAAC;EAAE,cAAc,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC9CD,aAAI,CAACC,MAAM,CAAC;EAAE,WAAW,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC3CD,aAAI,CAACC,MAAM,CAAC;EAAE,0BAA0B,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAE1D,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mEAAmE,CAAC;AAEtF,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,MAAgB,EAAe;EACzD,IAAMC,IAA6B,GAAG,CAAC,CAAC;EACxCD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;IACnB,IAAMC,GAAG,GAAGV,aAAI,CAACW,YAAY,CAACF,IAAI,CAAC;IACnC,IAAI,CAACC,GAAG,EAAE;MACN;IACJ;IACAH,IAAI,CAACG,GAAG,CAAC,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,OAAOE,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC;AAC5B,CAAC;AASD,IAAMO,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAKO;EAAA,IAJ3BT,MAAM,GAAAS,IAAA,CAANT,MAAM;IACNU,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,YAAY,GAAAH,IAAA,CAAZG,YAAY;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC,YAAuB;IAAA,IAAtBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IACnC,UAAAG,MAAA,CAAUJ,KAAK,OAAAI,MAAA,CAAIJ,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;EACrD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACf,MAAM,IAAIU,OAAO,EAAE;IACpB,OAAO,IAAI;EACf;EAEA,IAAIV,MAAM,CAACiB,MAAM,KAAK,CAAC,EAAE;IACrB,oBACI/B,MAAA,CAAAkC,OAAA,CAAAC,aAAA,eACKzB,CAAC,CAAAJ,eAAA,KAAAA,eAAA,OAAA8B,uBAAA,CAAAF,OAAA,wFAAiF;MAC/EG,iBAAiB,EAAEC,MAAM,CAACZ,YAAY,CAAC;MACvCa,eAAe,EAAEZ,QAAQ,CAACF,UAAU;IACxC,CAAC,CACC,CAAC;EAEf;EAEA,oBACIzB,MAAA,CAAAkC,OAAA,CAAAC,aAAA,eACKzB,CAAC,CAAAH,gBAAA,KAAAA,gBAAA,OAAA6B,uBAAA,CAAAF,OAAA,2GACE;IACIG,iBAAiB,EAAEC,MAAM,CAACZ,YAAY,CAAC;IACvCa,eAAe,EAAEZ,QAAQ,CAACF,UAAU,CAAC;IACrCe,KAAK,EAAE3B,oBAAoB,CAACC,MAAM,CAAC,CAAC2B,IAAI,CAAC,IAAI;EACjD,CACJ,CACE,CAAC;AAEf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEaZ,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_delete","_mobxReactLite","_FileManagerViewConfig","_FileManagerApiContext","_FileManagerViewProvider","_BulkActions","ActionDelete","exports","observer","_useFileManagerView","useFileManagerView","deleteFile","_useFileManagerApi","useFileManagerApi","canDelete","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useButtons","useDialog","_useButtons","IconButton","worker","_useDialog","showConfirmationDialog","showResultsDialog","filesLabel","useMemo","getFilesLabel","items","length","canDeleteAll","every","item","openDeleteDialog","title","message","concat","loadingLabel","execute","processInSeries","_ref","report","id","success","name","e","error","resetItems","results","console","log","default","createElement","icon","ReactComponent","onAction","label","tooltipPlacement"],"sources":["ActionDelete.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete.svg\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { getFilesLabel } from \"~/components/BulkActions/BulkActions\";\n\nexport const ActionDelete = observer(() => {\n const { deleteFile } = useFileManagerView();\n const { canDelete } = useFileManagerApi();\n\n const { useWorker, useButtons, useDialog } = FileManagerViewConfig.Browser.BulkAction;\n const { IconButton } = useButtons();\n const worker = useWorker();\n const { showConfirmationDialog, showResultsDialog } = useDialog();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const canDeleteAll = useMemo(() => {\n return worker.items.every(item => canDelete(item));\n }, [worker.items]);\n\n const openDeleteDialog = () =>\n showConfirmationDialog({\n title: \"Delete files\",\n message: `You are about to delete ${filesLabel}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n await deleteFile(item.id);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully deleted.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Delete files\",\n message: \"Finished deleting files! See full report below:\"\n });\n }\n });\n\n if (!canDeleteAll) {\n console.log(\"You don't have permissions to delete files.\");\n return null;\n }\n\n return (\n <IconButton\n icon={<DeleteIcon />}\n onAction={openDeleteDialog}\n label={`Delete ${filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_delete","_mobxReactLite","_FileManagerViewConfig","_FileManagerApiContext","_FileManagerViewProvider","_BulkActions","ActionDelete","exports","observer","_useFileManagerView","useFileManagerView","deleteFile","_useFileManagerApi","useFileManagerApi","canDelete","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useButtons","useDialog","_useButtons","IconButton","worker","_useDialog","showConfirmationDialog","showResultsDialog","filesLabel","useMemo","getFilesLabel","items","length","canDeleteAll","every","item","openDeleteDialog","title","message","concat","loadingLabel","execute","processInSeries","_ref","report","id","success","name","e","error","resetItems","results","console","log","default","createElement","icon","ReactComponent","onAction","label","tooltipPlacement"],"sources":["ActionDelete.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete.svg\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { getFilesLabel } from \"~/components/BulkActions/BulkActions\";\n\nexport const ActionDelete = observer(() => {\n const { deleteFile } = useFileManagerView();\n const { canDelete } = useFileManagerApi();\n\n const { useWorker, useButtons, useDialog } = FileManagerViewConfig.Browser.BulkAction;\n const { IconButton } = useButtons();\n const worker = useWorker();\n const { showConfirmationDialog, showResultsDialog } = useDialog();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const canDeleteAll = useMemo(() => {\n return worker.items.every(item => canDelete(item));\n }, [worker.items]);\n\n const openDeleteDialog = () =>\n showConfirmationDialog({\n title: \"Delete files\",\n message: `You are about to delete ${filesLabel}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n await deleteFile(item.id);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully deleted.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Delete files\",\n message: \"Finished deleting files! See full report below:\"\n });\n }\n });\n\n if (!canDeleteAll) {\n console.log(\"You don't have permissions to delete files.\");\n return null;\n }\n\n return (\n <IconButton\n icon={<DeleteIcon />}\n onAction={openDeleteDialog}\n label={`Delete ${filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_edit","_FileManagerViewConfig","_useFileModel2","_BatchEditorDialog","_ActionEditPresenter","_useActionEditWorker","useButtons","FileManagerViewConfig","Browser","BulkAction","ActionEdit","exports","observer","_useFileModel","useFileModel","allModelFields","fields","config","useFileManagerViewConfig","_useButtons","IconButton","useMemo","fileDetails","find","field","name","filter","fieldId","worker","useActionEditWorker","presenter","ActionEditPresenter","useEffect","load","onBatchEditorSubmit","useCallback","batch","closeEditor","openWorkerDialog","vm","show","canEditAll","console","log","default","createElement","Fragment","icon","ReactComponent","onAction","openEditor","label","concat","filesLabel","tooltipPlacement","BatchEditorDialog","onClose","currentBatch","editorVm","onApply"],"sources":["ActionEdit.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport {\n FileManagerViewConfig,\n useFileManagerViewConfig\n} from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\nimport { BatchEditorDialog } from \"./BatchEditorDialog\";\nimport { ActionEditPresenter } from \"./ActionEditPresenter\";\nimport { useActionEditWorker } from \"~/components/BulkActions/ActionEdit/useActionEditWorker\";\n\nconst { useButtons } = FileManagerViewConfig.Browser.BulkAction;\n\nexport const ActionEdit = observer(() => {\n const { fields: allModelFields } = useFileModel();\n const config = useFileManagerViewConfig();\n const { IconButton } = useButtons();\n\n const fields = useMemo(() => {\n if (!config.fileDetails.fields.find(field => field.name === \"tags\")) {\n return allModelFields.filter(field => field.fieldId !== \"tags\");\n }\n\n return allModelFields;\n }, [config, allModelFields]);\n\n const worker = useActionEditWorker(fields);\n\n const presenter = useMemo<ActionEditPresenter>(() => {\n return new ActionEditPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(fields);\n }, [fields]);\n\n const onBatchEditorSubmit = useCallback(\n (batch: BatchDTO) => {\n presenter.closeEditor();\n worker.openWorkerDialog(batch);\n },\n [worker.openWorkerDialog]\n );\n\n if (!presenter.vm.show) {\n return null;\n }\n\n if (!worker.canEditAll) {\n console.log(\"You don't have permissions to edit files.\");\n return null;\n }\n\n return (\n <>\n <IconButton\n icon={<EditIcon />}\n onAction={() => presenter.openEditor()}\n label={`Edit ${worker.filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n <BatchEditorDialog\n onClose={() => presenter.closeEditor()}\n fields={presenter.vm.fields}\n batch={presenter.vm.currentBatch}\n vm={presenter.vm.editorVm}\n onApply={onBatchEditorSubmit}\n />\n </>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_edit","_FileManagerViewConfig","_useFileModel2","_BatchEditorDialog","_ActionEditPresenter","_useActionEditWorker","useButtons","FileManagerViewConfig","Browser","BulkAction","ActionEdit","exports","observer","_useFileModel","useFileModel","allModelFields","fields","config","useFileManagerViewConfig","_useButtons","IconButton","useMemo","fileDetails","find","field","name","filter","fieldId","worker","useActionEditWorker","presenter","ActionEditPresenter","useEffect","load","onBatchEditorSubmit","useCallback","batch","closeEditor","openWorkerDialog","vm","show","canEditAll","console","log","default","createElement","Fragment","icon","ReactComponent","onAction","openEditor","label","concat","filesLabel","tooltipPlacement","BatchEditorDialog","onClose","currentBatch","editorVm","onApply"],"sources":["ActionEdit.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport {\n FileManagerViewConfig,\n useFileManagerViewConfig\n} from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\nimport { BatchEditorDialog } from \"./BatchEditorDialog\";\nimport { ActionEditPresenter } from \"./ActionEditPresenter\";\nimport { useActionEditWorker } from \"~/components/BulkActions/ActionEdit/useActionEditWorker\";\n\nconst { useButtons } = FileManagerViewConfig.Browser.BulkAction;\n\nexport const ActionEdit = observer(() => {\n const { fields: allModelFields } = useFileModel();\n const config = useFileManagerViewConfig();\n const { IconButton } = useButtons();\n\n const fields = useMemo(() => {\n if (!config.fileDetails.fields.find(field => field.name === \"tags\")) {\n return allModelFields.filter(field => field.fieldId !== \"tags\");\n }\n\n return allModelFields;\n }, [config, allModelFields]);\n\n const worker = useActionEditWorker(fields);\n\n const presenter = useMemo<ActionEditPresenter>(() => {\n return new ActionEditPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(fields);\n }, [fields]);\n\n const onBatchEditorSubmit = useCallback(\n (batch: BatchDTO) => {\n presenter.closeEditor();\n worker.openWorkerDialog(batch);\n },\n [worker.openWorkerDialog]\n );\n\n if (!presenter.vm.show) {\n return null;\n }\n\n if (!worker.canEditAll) {\n console.log(\"You don't have permissions to edit files.\");\n return null;\n }\n\n return (\n <>\n <IconButton\n icon={<EditIcon />}\n onAction={() => presenter.openEditor()}\n label={`Edit ${worker.filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n <BatchEditorDialog\n onClose={() => presenter.closeEditor()}\n fields={presenter.vm.fields}\n batch={presenter.vm.currentBatch}\n vm={presenter.vm.editorVm}\n onApply={onBatchEditorSubmit}\n />\n </>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_domain","isBulkEditableField","field","tags","includes","ActionEditPresenter","exports","_classCallCheck2","default","_defineProperty2","fields","currentBatch","BatchMapper","toDTO","Batch","createEmpty","makeAutoObservable","_createClass2","key","value","load","concat","_toConsumableArray2","getBuiltInFields","getExtensionFields","get","show","length","editorVm","openEditor","showEditor","closeEditor","builtInFields","filter","fieldId","FieldMapper","map","Field","createFromRaw","extensions","find","settings","extensionFields","extFields","_objectSpread2","isOpen"],"sources":["ActionEditPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n BatchMapper,\n Field,\n FieldDTO,\n FieldMapper,\n FieldRaw\n} from \"~/components/BulkActions/ActionEdit/domain\";\n\nfunction isBulkEditableField(field: FieldRaw) {\n return field.tags && field.tags.includes(\"$bulk-edit\");\n}\n\ninterface IActionEditPresenter {\n load: (fields: FieldRaw[]) => void;\n openEditor: () => void;\n closeEditor: () => void;\n get vm(): {\n show: boolean;\n currentBatch: BatchDTO;\n fields: FieldDTO[];\n editorVm: {\n isOpen: boolean;\n };\n };\n}\n\nexport class ActionEditPresenter implements IActionEditPresenter {\n private showEditor = false;\n private readonly currentBatch: BatchDTO;\n private fields: FieldDTO[];\n\n constructor() {\n this.fields = [];\n this.currentBatch = BatchMapper.toDTO(Batch.createEmpty());\n makeAutoObservable(this);\n }\n\n load(fields: FieldRaw[]) {\n this.fields = [...this.getBuiltInFields(fields), ...this.getExtensionFields(fields)];\n }\n\n get vm() {\n return {\n show: this.fields.length > 0,\n currentBatch: this.currentBatch,\n fields: this.fields,\n editorVm: this.editorVm\n };\n }\n\n openEditor() {\n this.showEditor = true;\n }\n\n closeEditor() {\n this.showEditor = false;\n }\n\n private getBuiltInFields(fields: FieldRaw[]) {\n const builtInFields = fields\n .filter(field => field.fieldId !== \"extensions\")\n .filter(isBulkEditableField);\n\n return FieldMapper.toDTO(builtInFields.map(field => Field.createFromRaw(field)));\n }\n\n private getExtensionFields(fields: FieldRaw[]) {\n const extensions = fields.find(field => field.fieldId === \"extensions\");\n\n if (!extensions?.settings?.fields) {\n return [];\n }\n\n const extensionFields = extensions.settings.fields.filter(isBulkEditableField) || [];\n\n const extFields = FieldMapper.toDTO(\n extensionFields.map(field => Field.createFromRaw(field))\n );\n\n return extFields.map(field => {\n return { ...field, value: `extensions.${field.value}` };\n });\n }\n\n private get editorVm() {\n return {\n isOpen: this.showEditor\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_domain","isBulkEditableField","field","tags","includes","ActionEditPresenter","exports","_classCallCheck2","default","_defineProperty2","fields","currentBatch","BatchMapper","toDTO","Batch","createEmpty","makeAutoObservable","_createClass2","key","value","load","concat","_toConsumableArray2","getBuiltInFields","getExtensionFields","get","show","length","editorVm","openEditor","showEditor","closeEditor","builtInFields","filter","fieldId","FieldMapper","map","Field","createFromRaw","extensions","find","settings","extensionFields","extFields","_objectSpread2","isOpen"],"sources":["ActionEditPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n BatchMapper,\n Field,\n FieldDTO,\n FieldMapper,\n FieldRaw\n} from \"~/components/BulkActions/ActionEdit/domain\";\n\nfunction isBulkEditableField(field: FieldRaw) {\n return field.tags && field.tags.includes(\"$bulk-edit\");\n}\n\ninterface IActionEditPresenter {\n load: (fields: FieldRaw[]) => void;\n openEditor: () => void;\n closeEditor: () => void;\n get vm(): {\n show: boolean;\n currentBatch: BatchDTO;\n fields: FieldDTO[];\n editorVm: {\n isOpen: boolean;\n };\n };\n}\n\nexport class ActionEditPresenter implements IActionEditPresenter {\n private showEditor = false;\n private readonly currentBatch: BatchDTO;\n private fields: FieldDTO[];\n\n constructor() {\n this.fields = [];\n this.currentBatch = BatchMapper.toDTO(Batch.createEmpty());\n makeAutoObservable(this);\n }\n\n load(fields: FieldRaw[]) {\n this.fields = [...this.getBuiltInFields(fields), ...this.getExtensionFields(fields)];\n }\n\n get vm() {\n return {\n show: this.fields.length > 0,\n currentBatch: this.currentBatch,\n fields: this.fields,\n editorVm: this.editorVm\n };\n }\n\n openEditor() {\n this.showEditor = true;\n }\n\n closeEditor() {\n this.showEditor = false;\n }\n\n private getBuiltInFields(fields: FieldRaw[]) {\n const builtInFields = fields\n .filter(field => field.fieldId !== \"extensions\")\n .filter(isBulkEditableField);\n\n return FieldMapper.toDTO(builtInFields.map(field => Field.createFromRaw(field)));\n }\n\n private getExtensionFields(fields: FieldRaw[]) {\n const extensions = fields.find(field => field.fieldId === \"extensions\");\n\n if (!extensions?.settings?.fields) {\n return [];\n }\n\n const extensionFields = extensions.settings.fields.filter(isBulkEditableField) || [];\n\n const extFields = FieldMapper.toDTO(\n extensionFields.map(field => Field.createFromRaw(field))\n );\n\n return extFields.map(field => {\n return { ...field, value: `extensions.${field.value}` };\n });\n }\n\n private get editorVm() {\n return {\n isOpen: this.showEditor\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_delete_outline","_form","_Accordion","_AddOperation","_Operation","_ActionEdit","BatchEditor","exports","observer","props","formRef","React","createRef","useEffect","current","onForm","default","createElement","Form","ref","data","vm","onChange","onSubmit","console","log","invalidFields","BatchEditorContainer","Accordion","elevation","operations","map","operation","operationIndex","AccordionItem","key","concat","title","open","actions","Actions","Action","icon","ReactComponent","onClick","onDelete","disabled","canDelete","Operation","name","onSetOperationFieldData","AddOperation","canAddOperation","onAdd"],"sources":["BatchEditor.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\n\nimport { AddOperation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation\";\nimport { Operation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/Operation\";\nimport {\n BatchEditorDialogViewModel,\n BatchEditorFormData\n} from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\nimport { BatchEditorContainer } from \"~/components/BulkActions/ActionEdit/ActionEdit.styled\";\n\nexport interface BatchEditorProps {\n onForm: (form: FormAPI) => void;\n onAdd: () => void;\n onDelete: (operationIndex: number) => void;\n onChange: (data: BatchEditorFormData) => void;\n onSetOperationFieldData: (operationIndex: number, data: string) => void;\n onSubmit: FormOnSubmit<BatchEditorFormData>;\n vm: BatchEditorDialogViewModel;\n}\n\nexport const BatchEditor = observer((props: BatchEditorProps) => {\n const formRef = React.createRef<FormAPI>();\n\n useEffect(() => {\n if (formRef.current) {\n props.onForm(formRef.current);\n }\n }, []);\n\n return (\n <Form\n ref={formRef}\n data={props.vm.data}\n onChange={props.onChange}\n onSubmit={data => {\n console.log(\"data\", data);\n }}\n invalidFields={props.vm.invalidFields}\n >\n {() => (\n <BatchEditorContainer>\n <Accordion elevation={1}>\n {props.vm.data.operations.map((operation, operationIndex) => (\n <AccordionItem\n key={`operation-${operationIndex}`}\n title={operation.title}\n open={operation.open}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={() => props.onDelete(operationIndex)}\n disabled={!operation.canDelete}\n />\n </AccordionItem.Actions>\n }\n >\n <Operation\n name={`operations.${operationIndex}`}\n operation={operation}\n onDelete={() => props.onDelete(operationIndex)}\n onSetOperationFieldData={data =>\n props.onSetOperationFieldData(operationIndex, data)\n }\n />\n </AccordionItem>\n ))}\n </Accordion>\n <AddOperation\n disabled={!props.vm.canAddOperation}\n onClick={() => props.onAdd()}\n />\n </BatchEditorContainer>\n )}\n </Form>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_delete_outline","_form","_Accordion","_AddOperation","_Operation","_ActionEdit","BatchEditor","exports","observer","props","formRef","React","createRef","useEffect","current","onForm","default","createElement","Form","ref","data","vm","onChange","onSubmit","console","log","invalidFields","BatchEditorContainer","Accordion","elevation","operations","map","operation","operationIndex","AccordionItem","key","concat","title","open","actions","Actions","Action","icon","ReactComponent","onClick","onDelete","disabled","canDelete","Operation","name","onSetOperationFieldData","AddOperation","canAddOperation","onAdd"],"sources":["BatchEditor.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\n\nimport { AddOperation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation\";\nimport { Operation } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/Operation\";\nimport {\n BatchEditorDialogViewModel,\n BatchEditorFormData\n} from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\nimport { BatchEditorContainer } from \"~/components/BulkActions/ActionEdit/ActionEdit.styled\";\n\nexport interface BatchEditorProps {\n onForm: (form: FormAPI) => void;\n onAdd: () => void;\n onDelete: (operationIndex: number) => void;\n onChange: (data: BatchEditorFormData) => void;\n onSetOperationFieldData: (operationIndex: number, data: string) => void;\n onSubmit: FormOnSubmit<BatchEditorFormData>;\n vm: BatchEditorDialogViewModel;\n}\n\nexport const BatchEditor = observer((props: BatchEditorProps) => {\n const formRef = React.createRef<FormAPI>();\n\n useEffect(() => {\n if (formRef.current) {\n props.onForm(formRef.current);\n }\n }, []);\n\n return (\n <Form\n ref={formRef}\n data={props.vm.data}\n onChange={props.onChange}\n onSubmit={data => {\n console.log(\"data\", data);\n }}\n invalidFields={props.vm.invalidFields}\n >\n {() => (\n <BatchEditorContainer>\n <Accordion elevation={1}>\n {props.vm.data.operations.map((operation, operationIndex) => (\n <AccordionItem\n key={`operation-${operationIndex}`}\n title={operation.title}\n open={operation.open}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<DeleteIcon />}\n onClick={() => props.onDelete(operationIndex)}\n disabled={!operation.canDelete}\n />\n </AccordionItem.Actions>\n }\n >\n <Operation\n name={`operations.${operationIndex}`}\n operation={operation}\n onDelete={() => props.onDelete(operationIndex)}\n onSetOperationFieldData={data =>\n props.onSetOperationFieldData(operationIndex, data)\n }\n />\n </AccordionItem>\n ))}\n </Accordion>\n <AddOperation\n disabled={!props.vm.canAddOperation}\n onClick={() => props.onAdd()}\n />\n </BatchEditorContainer>\n )}\n </Form>\n );\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAP,OAAA;AAYO,IAAMQ,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,uBAAQ,EAAC,UAACC,KAAuB,EAAK;EAC7D,IAAMC,OAAO,gBAAGC,cAAK,CAACC,SAAS,CAAU,CAAC;EAE1C,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIH,OAAO,CAACI,OAAO,EAAE;MACjBL,KAAK,CAACM,MAAM,CAACL,OAAO,CAACI,OAAO,CAAC;IACjC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIlB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAiB,IAAI;IACDC,GAAG,EAAET,OAAQ;IACbU,IAAI,EAAEX,KAAK,CAACY,EAAE,CAACD,IAAK;IACpBE,QAAQ,EAAEb,KAAK,CAACa,QAAS;IACzBC,QAAQ,EAAE,SAAVA,QAAQA,CAAEH,IAAI,EAAI;MACdI,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEL,IAAI,CAAC;IAC7B,CAAE;IACFM,aAAa,EAAEjB,KAAK,CAACY,EAAE,CAACK;EAAc,GAErC;IAAA,oBACG9B,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACZ,WAAA,CAAAsB,oBAAoB,qBACjB/B,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAA0B,SAAS;MAACC,SAAS,EAAE;IAAE,GACnBpB,KAAK,CAACY,EAAE,CAACD,IAAI,CAACU,UAAU,CAACC,GAAG,CAAC,UAACC,SAAS,EAAEC,cAAc;MAAA,oBACpDrC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAAgC,aAAa;QACVC,GAAG,eAAAC,MAAA,CAAeH,cAAc,CAAG;QACnCI,KAAK,EAAEL,SAAS,CAACK,KAAM;QACvBC,IAAI,EAAEN,SAAS,CAACM,IAAK;QACrBC,OAAO,eACH3C,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAAgC,aAAa,CAACM,OAAO,qBAClB5C,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,UAAA,CAAAgC,aAAa,CAACO,MAAM;UACjBC,IAAI,eAAE9C,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,eAAA,CAAA2C,cAAU,MAAE,CAAE;UACrBC,OAAO,EAAE,SAATA,OAAOA,CAAA;YAAA,OAAQnC,KAAK,CAACoC,QAAQ,CAACZ,cAAc,CAAC;UAAA,CAAC;UAC9Ca,QAAQ,EAAE,CAACd,SAAS,CAACe;QAAU,CAClC,CACkB;MAC1B,gBAEDnD,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACb,UAAA,CAAA4C,SAAS;QACNC,IAAI,gBAAAb,MAAA,CAAgBH,cAAc,CAAG;QACrCD,SAAS,EAAEA,SAAU;QACrBa,QAAQ,EAAE,SAAVA,QAAQA,CAAA;UAAA,OAAQpC,KAAK,CAACoC,QAAQ,CAACZ,cAAc,CAAC;QAAA,CAAC;QAC/CiB,uBAAuB,EAAE,SAAzBA,uBAAuBA,CAAE9B,IAAI;UAAA,OACzBX,KAAK,CAACyC,uBAAuB,CAACjB,cAAc,EAAEb,IAAI,CAAC;QAAA;MACtD,CACJ,CACU,CAAC;IAAA,CACnB,CACM,CAAC,eACZxB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACd,aAAA,CAAAgD,YAAY;MACTL,QAAQ,EAAE,CAACrC,KAAK,CAACY,EAAE,CAAC+B,eAAgB;MACpCR,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQnC,KAAK,CAAC4C,KAAK,CAAC,CAAC;MAAA;IAAC,CAChC,CACiB,CAAC;EAAA,CAEzB,CAAC;AAEf,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_Button","_Dialog","_BatchEditorDialogPresenter","_BatchEditor","_ActionEdit","BatchEditorDialog","exports","observer","props","presenter","useMemo","BatchEditorDialogPresenter","ref","useRef","useEffect","load","batch","fields","onChange","data","setBatch","onApply","current","validate","then","isValid","default","createElement","DialogContainer","open","vm","isOpen","onClose","preventOutsideDismiss","Fragment","DialogTitle","DialogContent","ActionEditFormContainer","BatchEditor","onForm","form","onSubmit","onDelete","operationIndex","deleteOperation","onAdd","addOperation","onSetOperationFieldData","setOperationFieldData","DialogActions","DialogCancel","onClick","ButtonPrimary"],"sources":["BatchEditorDialog.tsx"],"sourcesContent":["import React, { useMemo, useEffect, useRef } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogActions, DialogCancel, DialogContent, DialogTitle } from \"@webiny/ui/Dialog\";\n\nimport { BatchEditorDialogPresenter, BatchEditorFormData } from \"./BatchEditorDialogPresenter\";\nimport { BatchEditor } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor\";\nimport { ActionEditFormContainer, DialogContainer } from \"../ActionEdit.styled\";\nimport { BatchDTO, FieldDTO } from \"~/components/BulkActions/ActionEdit/domain\";\n\ninterface BatchEditorDialogProps {\n fields: FieldDTO[];\n batch: BatchDTO;\n vm: {\n isOpen: boolean;\n };\n onApply: (batch: BatchDTO) => void;\n onClose: () => void;\n}\n\nexport const BatchEditorDialog = observer((props: BatchEditorDialogProps) => {\n const presenter = useMemo<BatchEditorDialogPresenter>(() => {\n return new BatchEditorDialogPresenter();\n }, []);\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n presenter.load(props.batch, props.fields);\n }, [props.batch, props.fields]);\n\n const onChange = (data: BatchEditorFormData) => {\n presenter.setBatch(data);\n };\n\n const onApply = () => {\n ref.current?.validate().then(isValid => {\n if (isValid) {\n presenter.onApply(batch => {\n props.onApply(batch);\n });\n }\n });\n };\n\n return (\n <DialogContainer\n open={props.vm.isOpen}\n onClose={props.onClose}\n preventOutsideDismiss={true}\n >\n {props.vm.isOpen ? (\n <>\n <DialogTitle>{\"Edit items\"}</DialogTitle>\n <DialogContent>\n <ActionEditFormContainer>\n <BatchEditor\n onForm={form => (ref.current = form)}\n onChange={data => onChange(data)}\n onSubmit={onApply}\n onDelete={operationIndex =>\n presenter.deleteOperation(operationIndex)\n }\n onAdd={() => presenter.addOperation()}\n onSetOperationFieldData={(operationIndex, data) =>\n presenter.setOperationFieldData(operationIndex, data)\n }\n vm={presenter.vm}\n />\n </ActionEditFormContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel onClick={props.onClose}>{\"Cancel\"}</DialogCancel>\n <ButtonPrimary onClick={onApply}>{\"Submit\"}</ButtonPrimary>\n </DialogActions>\n </>\n ) : null}\n </DialogContainer>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_Button","_Dialog","_BatchEditorDialogPresenter","_BatchEditor","_ActionEdit","BatchEditorDialog","exports","observer","props","presenter","useMemo","BatchEditorDialogPresenter","ref","useRef","useEffect","load","batch","fields","onChange","data","setBatch","onApply","current","validate","then","isValid","default","createElement","DialogContainer","open","vm","isOpen","onClose","preventOutsideDismiss","Fragment","DialogTitle","DialogContent","ActionEditFormContainer","BatchEditor","onForm","form","onSubmit","onDelete","operationIndex","deleteOperation","onAdd","addOperation","onSetOperationFieldData","setOperationFieldData","DialogActions","DialogCancel","onClick","ButtonPrimary"],"sources":["BatchEditorDialog.tsx"],"sourcesContent":["import React, { useMemo, useEffect, useRef } from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogActions, DialogCancel, DialogContent, DialogTitle } from \"@webiny/ui/Dialog\";\n\nimport { BatchEditorDialogPresenter, BatchEditorFormData } from \"./BatchEditorDialogPresenter\";\nimport { BatchEditor } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor\";\nimport { ActionEditFormContainer, DialogContainer } from \"../ActionEdit.styled\";\nimport { BatchDTO, FieldDTO } from \"~/components/BulkActions/ActionEdit/domain\";\n\ninterface BatchEditorDialogProps {\n fields: FieldDTO[];\n batch: BatchDTO;\n vm: {\n isOpen: boolean;\n };\n onApply: (batch: BatchDTO) => void;\n onClose: () => void;\n}\n\nexport const BatchEditorDialog = observer((props: BatchEditorDialogProps) => {\n const presenter = useMemo<BatchEditorDialogPresenter>(() => {\n return new BatchEditorDialogPresenter();\n }, []);\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n presenter.load(props.batch, props.fields);\n }, [props.batch, props.fields]);\n\n const onChange = (data: BatchEditorFormData) => {\n presenter.setBatch(data);\n };\n\n const onApply = () => {\n ref.current?.validate().then(isValid => {\n if (isValid) {\n presenter.onApply(batch => {\n props.onApply(batch);\n });\n }\n });\n };\n\n return (\n <DialogContainer\n open={props.vm.isOpen}\n onClose={props.onClose}\n preventOutsideDismiss={true}\n >\n {props.vm.isOpen ? (\n <>\n <DialogTitle>{\"Edit items\"}</DialogTitle>\n <DialogContent>\n <ActionEditFormContainer>\n <BatchEditor\n onForm={form => (ref.current = form)}\n onChange={data => onChange(data)}\n onSubmit={onApply}\n onDelete={operationIndex =>\n presenter.deleteOperation(operationIndex)\n }\n onAdd={() => presenter.addOperation()}\n onSetOperationFieldData={(operationIndex, data) =>\n presenter.setOperationFieldData(operationIndex, data)\n }\n vm={presenter.vm}\n />\n </ActionEditFormContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel onClick={props.onClose}>{\"Cancel\"}</DialogCancel>\n <ButtonPrimary onClick={onApply}>{\"Submit\"}</ButtonPrimary>\n </DialogActions>\n </>\n ) : null}\n </DialogContainer>\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_domain","BatchEditorDialogPresenter","exports","_this","_classCallCheck2","default","_defineProperty2","batch","operations","map","operation","operationIndex","fieldOptions","getFieldOptions","field","selectedField","find","value","operatorOptions","operators","title","getOperationTitle","operator","concat","open","canDelete","undefined","fields","makeAutoObservable","_createClass2","key","load","get","getOperations","canAddOperation","length","invalidFields","data","addOperation","push","deleteOperation","filter","_","index","setOperationFieldData","batchIndex","_toConsumableArray2","slice","setBatch","_objectSpread3","formWasSubmitted","validateBatch","onApply","onSuccess","onError","result","success","inputField","inputOperation","label","currentFieldId","arguments","existings","includes","validation","Batch","validate","error","issues","reduce","acc","issue","path","join","message"],"sources":["BatchEditorDialogPresenter.tsx"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n FieldDTO,\n OperationDTO,\n OperatorDTO\n} from \"~/components/BulkActions/ActionEdit/domain\";\nimport type { FormInvalidFields } from \"@webiny/form\";\n\nexport interface IBatchEditorDialogPresenter {\n load(batch: BatchDTO, fields: FieldDTO[]): void;\n addOperation(): void;\n deleteOperation(operationIndex: number): void;\n setOperationFieldData(operationIndex: number, data: string): void;\n setBatch(data: any): void;\n onApply(onSuccess?: (batch: BatchDTO) => void, onError?: (batch: BatchDTO) => void): void;\n get vm(): BatchEditorDialogViewModel;\n}\n\nexport interface BatchEditorDialogViewModel {\n invalidFields: FormInvalidFields;\n canAddOperation: boolean;\n data: BatchEditorFormData;\n}\n\nexport interface BatchEditorFormData {\n operations: OperationFormData[];\n}\n\nexport type OperationFormData = OperationDTO & {\n canDelete: boolean;\n title: string;\n open: boolean;\n fieldOptions: FieldDTO[];\n operatorOptions: OperatorDTO[];\n selectedField?: FieldDTO;\n};\n\nexport class BatchEditorDialogPresenter implements IBatchEditorDialogPresenter {\n private batch: BatchDTO | undefined;\n private fields: FieldDTO[];\n private invalidFields: BatchEditorDialogViewModel[\"invalidFields\"] = {};\n private formWasSubmitted = false;\n\n constructor() {\n this.batch = undefined;\n this.fields = [];\n makeAutoObservable(this);\n }\n\n load(batch: BatchDTO, fields: FieldDTO[]) {\n this.batch = batch;\n this.fields = fields;\n }\n\n get vm() {\n const operations = this.getOperations();\n const canAddOperation = operations[operations.length - 1].fieldOptions.length > 1 ?? false;\n\n return {\n invalidFields: this.invalidFields,\n canAddOperation,\n data: {\n operations\n }\n };\n }\n\n addOperation(): void {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations.push({\n field: \"\",\n operator: \"\",\n value: undefined\n });\n }\n\n deleteOperation(operationIndex: number): void {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations = this.batch.operations.filter(\n (_, index) => index !== operationIndex\n );\n\n // Make sure we always have at least 1 operation!\n if (this.batch.operations.length === 0) {\n this.addOperation();\n }\n }\n\n setOperationFieldData(batchIndex: number, data: string) {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations = [\n ...this.batch.operations.slice(0, batchIndex),\n {\n field: data,\n operator: \"\",\n value: undefined\n },\n ...this.batch.operations.slice(batchIndex + 1)\n ];\n }\n\n setBatch(data: BatchEditorFormData): void {\n if (!this.batch) {\n return;\n }\n\n this.batch = {\n ...this.batch,\n operations: data.operations.map(operation => ({\n field: operation.field,\n operator: operation.operator,\n value: operation.value\n }))\n };\n\n if (this.formWasSubmitted) {\n this.validateBatch(this.batch);\n }\n }\n\n onApply(\n onSuccess?: (batch: BatchDTO) => void,\n onError?: (\n batch: BatchDTO,\n invalidFields: BatchEditorDialogViewModel[\"invalidFields\"]\n ) => void\n ) {\n if (!this.batch) {\n return;\n }\n\n const result = this.validateBatch(this.batch);\n if (result.success) {\n onSuccess && onSuccess(this.batch);\n } else {\n onError && onError(this.batch, this.invalidFields);\n }\n }\n\n private getOperations = () => {\n return (\n this.batch?.operations.map((operation: OperationDTO, operationIndex) => {\n const fieldOptions = this.getFieldOptions(operation.field);\n const selectedField = fieldOptions.find(field => field.value === operation.field);\n const operatorOptions = selectedField?.operators || [];\n\n return {\n title:\n this.getOperationTitle(operation.field, operation.operator) ??\n `Operation #${operationIndex + 1}`,\n open: true,\n field: operation.field,\n operator: operation.operator,\n value: operation.value,\n canDelete: operationIndex !== 0,\n fieldOptions,\n selectedField,\n operatorOptions\n };\n }) || []\n );\n };\n\n private getOperationTitle(inputField?: string, inputOperation?: string) {\n if (!inputField || !inputOperation) {\n return undefined;\n }\n\n const field = this.fields.find(field => field.value === inputField);\n\n if (!field) {\n return undefined;\n }\n\n const operator = field.operators.find(operator => operator.value === inputOperation);\n\n if (!operator) {\n return undefined;\n }\n\n return `${operator.label} for field \"${field.label}\"`;\n }\n\n private getFieldOptions(currentFieldId = \"\") {\n if (!this.batch) {\n return [];\n }\n\n const existings = this.batch.operations\n .filter(operation => operation.field !== currentFieldId)\n .map(operation => operation.field);\n\n return this.fields.filter(field => !existings.includes(field.value));\n }\n\n private validateBatch(data: BatchDTO) {\n this.formWasSubmitted = true;\n const validation = Batch.validate(data);\n\n if (!validation.success) {\n this.invalidFields = validation.error.issues.reduce((acc, issue) => {\n return {\n ...acc,\n [issue.path.join(\".\")]: issue.message\n };\n }, {});\n } else {\n this.invalidFields = {};\n }\n\n return validation;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_domain","BatchEditorDialogPresenter","exports","_this","_classCallCheck2","default","_defineProperty2","batch","operations","map","operation","operationIndex","fieldOptions","getFieldOptions","field","selectedField","find","value","operatorOptions","operators","title","getOperationTitle","operator","concat","open","canDelete","undefined","fields","makeAutoObservable","_createClass2","key","load","get","getOperations","canAddOperation","length","invalidFields","data","addOperation","push","deleteOperation","filter","_","index","setOperationFieldData","batchIndex","_toConsumableArray2","slice","setBatch","_objectSpread3","formWasSubmitted","validateBatch","onApply","onSuccess","onError","result","success","inputField","inputOperation","label","currentFieldId","arguments","existings","includes","validation","Batch","validate","error","issues","reduce","acc","issue","path","join","message"],"sources":["BatchEditorDialogPresenter.tsx"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nimport {\n Batch,\n BatchDTO,\n FieldDTO,\n OperationDTO,\n OperatorDTO\n} from \"~/components/BulkActions/ActionEdit/domain\";\nimport type { FormInvalidFields } from \"@webiny/form\";\n\nexport interface IBatchEditorDialogPresenter {\n load(batch: BatchDTO, fields: FieldDTO[]): void;\n addOperation(): void;\n deleteOperation(operationIndex: number): void;\n setOperationFieldData(operationIndex: number, data: string): void;\n setBatch(data: any): void;\n onApply(onSuccess?: (batch: BatchDTO) => void, onError?: (batch: BatchDTO) => void): void;\n get vm(): BatchEditorDialogViewModel;\n}\n\nexport interface BatchEditorDialogViewModel {\n invalidFields: FormInvalidFields;\n canAddOperation: boolean;\n data: BatchEditorFormData;\n}\n\nexport interface BatchEditorFormData {\n operations: OperationFormData[];\n}\n\nexport type OperationFormData = OperationDTO & {\n canDelete: boolean;\n title: string;\n open: boolean;\n fieldOptions: FieldDTO[];\n operatorOptions: OperatorDTO[];\n selectedField?: FieldDTO;\n};\n\nexport class BatchEditorDialogPresenter implements IBatchEditorDialogPresenter {\n private batch: BatchDTO | undefined;\n private fields: FieldDTO[];\n private invalidFields: BatchEditorDialogViewModel[\"invalidFields\"] = {};\n private formWasSubmitted = false;\n\n constructor() {\n this.batch = undefined;\n this.fields = [];\n makeAutoObservable(this);\n }\n\n load(batch: BatchDTO, fields: FieldDTO[]) {\n this.batch = batch;\n this.fields = fields;\n }\n\n get vm() {\n const operations = this.getOperations();\n const canAddOperation = operations[operations.length - 1].fieldOptions.length > 1 ?? false;\n\n return {\n invalidFields: this.invalidFields,\n canAddOperation,\n data: {\n operations\n }\n };\n }\n\n addOperation(): void {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations.push({\n field: \"\",\n operator: \"\",\n value: undefined\n });\n }\n\n deleteOperation(operationIndex: number): void {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations = this.batch.operations.filter(\n (_, index) => index !== operationIndex\n );\n\n // Make sure we always have at least 1 operation!\n if (this.batch.operations.length === 0) {\n this.addOperation();\n }\n }\n\n setOperationFieldData(batchIndex: number, data: string) {\n if (!this.batch) {\n return;\n }\n\n this.batch.operations = [\n ...this.batch.operations.slice(0, batchIndex),\n {\n field: data,\n operator: \"\",\n value: undefined\n },\n ...this.batch.operations.slice(batchIndex + 1)\n ];\n }\n\n setBatch(data: BatchEditorFormData): void {\n if (!this.batch) {\n return;\n }\n\n this.batch = {\n ...this.batch,\n operations: data.operations.map(operation => ({\n field: operation.field,\n operator: operation.operator,\n value: operation.value\n }))\n };\n\n if (this.formWasSubmitted) {\n this.validateBatch(this.batch);\n }\n }\n\n onApply(\n onSuccess?: (batch: BatchDTO) => void,\n onError?: (\n batch: BatchDTO,\n invalidFields: BatchEditorDialogViewModel[\"invalidFields\"]\n ) => void\n ) {\n if (!this.batch) {\n return;\n }\n\n const result = this.validateBatch(this.batch);\n if (result.success) {\n onSuccess && onSuccess(this.batch);\n } else {\n onError && onError(this.batch, this.invalidFields);\n }\n }\n\n private getOperations = () => {\n return (\n this.batch?.operations.map((operation: OperationDTO, operationIndex) => {\n const fieldOptions = this.getFieldOptions(operation.field);\n const selectedField = fieldOptions.find(field => field.value === operation.field);\n const operatorOptions = selectedField?.operators || [];\n\n return {\n title:\n this.getOperationTitle(operation.field, operation.operator) ??\n `Operation #${operationIndex + 1}`,\n open: true,\n field: operation.field,\n operator: operation.operator,\n value: operation.value,\n canDelete: operationIndex !== 0,\n fieldOptions,\n selectedField,\n operatorOptions\n };\n }) || []\n );\n };\n\n private getOperationTitle(inputField?: string, inputOperation?: string) {\n if (!inputField || !inputOperation) {\n return undefined;\n }\n\n const field = this.fields.find(field => field.value === inputField);\n\n if (!field) {\n return undefined;\n }\n\n const operator = field.operators.find(operator => operator.value === inputOperation);\n\n if (!operator) {\n return undefined;\n }\n\n return `${operator.label} for field \"${field.label}\"`;\n }\n\n private getFieldOptions(currentFieldId = \"\") {\n if (!this.batch) {\n return [];\n }\n\n const existings = this.batch.operations\n .filter(operation => operation.field !== currentFieldId)\n .map(operation => operation.field);\n\n return this.fields.filter(field => !existings.includes(field.value));\n }\n\n private validateBatch(data: BatchDTO) {\n this.formWasSubmitted = true;\n const validation = Batch.validate(data);\n\n if (!validation.success) {\n this.invalidFields = validation.error.issues.reduce((acc, issue) => {\n return {\n ...acc,\n [issue.path.join(\".\")]: issue.message\n };\n }, {});\n } else {\n this.invalidFields = {};\n }\n\n return validation;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_form","_Grid","_Select","_FieldRenderer","Operation","exports","observer","props","default","createElement","Grid","Cell","span","Bind","name","concat","_ref","value","validation","Select","label","options","operation","fieldOptions","onChange","data","onSetOperationFieldData","field","_ref2","operatorOptions","selectedField","FieldRenderer","operator"],"sources":["Operation.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { Bind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\n\nimport { FieldRenderer } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer\";\nimport { OperationFormData } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\n\nexport interface OperationProps {\n operation: OperationFormData;\n name: string;\n onDelete: () => void;\n onSetOperationFieldData: (data: string) => void;\n}\n\nexport const Operation = observer((props: OperationProps) => {\n return (\n <Grid>\n <Cell span={6}>\n <Bind name={`${props.name}.field`}>\n {({ value, validation }) => (\n <Select\n label={\"Field\"}\n options={props.operation.fieldOptions}\n value={value}\n onChange={data => props.onSetOperationFieldData(data)}\n validation={validation}\n />\n )}\n </Bind>\n </Cell>\n <Cell span={6}>\n {props.operation.field && (\n <Bind name={`${props.name}.operator`}>\n {({ value, onChange, validation }) => (\n <Select\n label={\"Operation\"}\n options={props.operation.operatorOptions}\n value={value}\n onChange={onChange}\n validation={validation}\n />\n )}\n </Bind>\n )}\n </Cell>\n {props.operation.selectedField ? (\n <FieldRenderer\n operator={props.operation.operator}\n field={props.operation.selectedField}\n name={`${props.name}.value`}\n />\n ) : null}\n </Grid>\n );\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAUO,IAAMM,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,uBAAQ,EAAC,UAACC,KAAqB,EAAK;EACzD,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAS,IAAI,qBACDd,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAU,IAAI;IAACC,IAAI,EAAE;EAAE,gBACVhB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,KAAA,CAAAa,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAS,GAC7B,UAAAE,IAAA;IAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;MAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAA,oBACjBtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAiB,MAAM;MACHC,KAAK,EAAE,OAAQ;MACfC,OAAO,EAAEd,KAAK,CAACe,SAAS,CAACC,YAAa;MACtCN,KAAK,EAAEA,KAAM;MACbO,QAAQ,EAAE,SAAAA,SAAAC,IAAI;QAAA,OAAIlB,KAAK,CAACmB,uBAAuB,CAACD,IAAI,CAAC;MAAA,CAAC;MACtDP,UAAU,EAAEA;IAAW,CAC1B,CAAC;EAAA,CAEJ,CACJ,CAAC,eACPtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAU,IAAI;IAACC,IAAI,EAAE;EAAE,GACTL,KAAK,CAACe,SAAS,CAACK,KAAK,iBAClB/B,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,KAAA,CAAAa,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAY,GAChC,UAAAc,KAAA;IAAA,IAAGX,KAAK,GAAAW,KAAA,CAALX,KAAK;MAAEO,QAAQ,GAAAI,KAAA,CAARJ,QAAQ;MAAEN,UAAU,GAAAU,KAAA,CAAVV,UAAU;IAAA,oBAC3BtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAiB,MAAM;MACHC,KAAK,EAAE,WAAY;MACnBC,OAAO,EAAEd,KAAK,CAACe,SAAS,CAACO,eAAgB;MACzCZ,KAAK,EAAEA,KAAM;MACbO,QAAQ,EAAEA,QAAS;MACnBN,UAAU,EAAEA;IAAW,CAC1B,CAAC;EAAA,CAEJ,CAER,CAAC,EACNX,KAAK,CAACe,SAAS,CAACQ,aAAa,gBAC1BlC,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACN,cAAA,CAAA4B,aAAa;IACVC,QAAQ,EAAEzB,KAAK,CAACe,SAAS,CAACU,QAAS;IACnCL,KAAK,EAAEpB,KAAK,CAACe,SAAS,CAACQ,aAAc;IACrChB,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAS,CAC/B,CAAC,GACF,IACF,CAAC;AAEf,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_form","_Grid","_Select","_FieldRenderer","Operation","exports","observer","props","default","createElement","Grid","Cell","span","Bind","name","concat","_ref","value","validation","Select","label","options","operation","fieldOptions","onChange","data","onSetOperationFieldData","field","_ref2","operatorOptions","selectedField","FieldRenderer","operator"],"sources":["Operation.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { observer } from \"mobx-react-lite\";\nimport { Bind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\n\nimport { FieldRenderer } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer\";\nimport { OperationFormData } from \"~/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter\";\n\nexport interface OperationProps {\n operation: OperationFormData;\n name: string;\n onDelete: () => void;\n onSetOperationFieldData: (data: string) => void;\n}\n\nexport const Operation = observer((props: OperationProps) => {\n return (\n <Grid>\n <Cell span={6}>\n <Bind name={`${props.name}.field`}>\n {({ value, validation }) => (\n <Select\n label={\"Field\"}\n options={props.operation.fieldOptions}\n value={value}\n onChange={data => props.onSetOperationFieldData(data)}\n validation={validation}\n />\n )}\n </Bind>\n </Cell>\n <Cell span={6}>\n {props.operation.field && (\n <Bind name={`${props.name}.operator`}>\n {({ value, onChange, validation }) => (\n <Select\n label={\"Operation\"}\n options={props.operation.operatorOptions}\n value={value}\n onChange={onChange}\n validation={validation}\n />\n )}\n </Bind>\n )}\n </Cell>\n {props.operation.selectedField ? (\n <FieldRenderer\n operator={props.operation.operator}\n field={props.operation.selectedField}\n name={`${props.name}.value`}\n />\n ) : null}\n </Grid>\n );\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAUO,IAAMM,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,uBAAQ,EAAC,UAACC,KAAqB,EAAK;EACzD,oBACIX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAS,IAAI,qBACDd,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAU,IAAI;IAACC,IAAI,EAAE;EAAE,gBACVhB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,KAAA,CAAAa,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAS,GAC7B,UAAAE,IAAA;IAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;MAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAA,oBACjBtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAiB,MAAM;MACHC,KAAK,EAAE,OAAQ;MACfC,OAAO,EAAEd,KAAK,CAACe,SAAS,CAACC,YAAa;MACtCN,KAAK,EAAEA,KAAM;MACbO,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,IAAI;QAAA,OAAIlB,KAAK,CAACmB,uBAAuB,CAACD,IAAI,CAAC;MAAA,CAAC;MACtDP,UAAU,EAAEA;IAAW,CAC1B,CAAC;EAAA,CAEJ,CACJ,CAAC,eACPtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,KAAA,CAAAU,IAAI;IAACC,IAAI,EAAE;EAAE,GACTL,KAAK,CAACe,SAAS,CAACK,KAAK,iBAClB/B,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,KAAA,CAAAa,IAAI;IAACC,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAY,GAChC,UAAAc,KAAA;IAAA,IAAGX,KAAK,GAAAW,KAAA,CAALX,KAAK;MAAEO,QAAQ,GAAAI,KAAA,CAARJ,QAAQ;MAAEN,UAAU,GAAAU,KAAA,CAAVV,UAAU;IAAA,oBAC3BtB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAiB,MAAM;MACHC,KAAK,EAAE,WAAY;MACnBC,OAAO,EAAEd,KAAK,CAACe,SAAS,CAACO,eAAgB;MACzCZ,KAAK,EAAEA,KAAM;MACbO,QAAQ,EAAEA,QAAS;MACnBN,UAAU,EAAEA;IAAW,CAC1B,CAAC;EAAA,CAEJ,CAER,CAAC,EACNX,KAAK,CAACe,SAAS,CAACQ,aAAa,gBAC1BlC,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACN,cAAA,CAAA4B,aAAa;IACVC,QAAQ,EAAEzB,KAAK,CAACe,SAAS,CAACU,QAAS;IACnCL,KAAK,EAAEpB,KAAK,CAACe,SAAS,CAACQ,aAAc;IACrChB,IAAI,KAAAC,MAAA,CAAKR,KAAK,CAACO,IAAI;EAAS,CAC/B,CAAC,GACF,IACF,CAAC;AAEf,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_set","_interopRequireDefault","require","_get","_domain","GraphQLInputMapper","exports","_classCallCheck2","default","_createClass2","key","value","applyOperations","data","batch","update","_objectSpread2","operations","forEach","operation","field","operator","fieldValue","get","OperatorType","OVERRIDE","set","REMOVE","APPEND","Array","isArray","oldData","concat","_toConsumableArray2"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport get from \"lodash/get\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { BatchDTO, OperatorType } from \"~/components/BulkActions/ActionEdit/domain\";\n\nexport class GraphQLInputMapper {\n static applyOperations(data: FileItem, batch: BatchDTO) {\n const update = { ...data };\n\n batch.operations.forEach(operation => {\n const { field, operator, value } = operation;\n const fieldValue = get(value, field);\n\n switch (operator) {\n case OperatorType.OVERRIDE:\n if (!fieldValue) {\n return;\n }\n\n set(update, field, fieldValue);\n break;\n case OperatorType.REMOVE:\n set(update, field, null);\n break;\n case OperatorType.APPEND:\n if (!value || !fieldValue || !Array.isArray(fieldValue)) {\n return;\n }\n\n const oldData = (data && get(data, field)) ?? [];\n set(update, field, [...oldData, ...fieldValue]);\n\n break;\n default:\n break;\n }\n });\n\n return {\n ...data,\n ...update\n };\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAAoF,IAEvEG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,kBAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,kBAAA;IAAAK,GAAA;IAAAC,KAAA,EAC3B,SAAAC,gBAAuBC,IAAc,EAAEC,KAAe,EAAE;MACpD,IAAMC,MAAM,OAAAC,cAAA,CAAAR,OAAA,MAAQK,IAAI,CAAE;MAE1BC,KAAK,CAACG,UAAU,CAACC,OAAO,CAAC,UAAAC,SAAS,EAAI;QAClC,IAAQC,KAAK,GAAsBD,SAAS,CAApCC,KAAK;UAAEC,QAAQ,GAAYF,SAAS,CAA7BE,QAAQ;UAAEV,KAAK,GAAKQ,SAAS,CAAnBR,KAAK;QAC9B,IAAMW,UAAU,GAAG,IAAAC,YAAG,EAACZ,KAAK,EAAES,KAAK,CAAC;QAEpC,QAAQC,QAAQ;UACZ,KAAKG,oBAAY,CAACC,QAAQ;YACtB,IAAI,CAACH,UAAU,EAAE;cACb;YACJ;YAEA,IAAAI,YAAG,EAACX,MAAM,EAAEK,KAAK,EAAEE,UAAU,CAAC;YAC9B;UACJ,KAAKE,oBAAY,CAACG,MAAM;YACpB,IAAAD,YAAG,EAACX,MAAM,EAAEK,KAAK,EAAE,IAAI,CAAC;YACxB;UACJ,KAAKI,oBAAY,CAACI,MAAM;YACpB,IAAI,CAACjB,KAAK,IAAI,CAACW,UAAU,IAAI,CAACO,KAAK,CAACC,OAAO,CAACR,UAAU,CAAC,EAAE;cACrD;YACJ;YAEA,IAAMS,OAAO,GAAG,CAAClB,IAAI,IAAI,IAAAU,YAAG,EAACV,IAAI,EAAEO,KAAK,CAAC,KAAK,EAAE;YAChD,IAAAM,YAAG,EAACX,MAAM,EAAEK,KAAK,KAAAY,MAAA,KAAAC,mBAAA,CAAAzB,OAAA,EAAMuB,OAAO,OAAAE,mBAAA,CAAAzB,OAAA,EAAKc,UAAU,EAAC,CAAC;YAE/C;UACJ;YACI;QACR;MACJ,CAAC,CAAC;MAEF,WAAAN,cAAA,CAAAR,OAAA,MAAAQ,cAAA,CAAAR,OAAA,MACOK,IAAI,GACJE,MAAM;IAEjB;EAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_set","_interopRequireDefault","require","_get","_domain","GraphQLInputMapper","exports","_classCallCheck2","default","_createClass2","key","value","applyOperations","data","batch","update","_objectSpread2","operations","forEach","operation","field","operator","fieldValue","get","OperatorType","OVERRIDE","set","REMOVE","APPEND","Array","isArray","oldData","concat","_toConsumableArray2"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport get from \"lodash/get\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { BatchDTO, OperatorType } from \"~/components/BulkActions/ActionEdit/domain\";\n\nexport class GraphQLInputMapper {\n static applyOperations(data: FileItem, batch: BatchDTO) {\n const update = { ...data };\n\n batch.operations.forEach(operation => {\n const { field, operator, value } = operation;\n const fieldValue = get(value, field);\n\n switch (operator) {\n case OperatorType.OVERRIDE:\n if (!fieldValue) {\n return;\n }\n\n set(update, field, fieldValue);\n break;\n case OperatorType.REMOVE:\n set(update, field, null);\n break;\n case OperatorType.APPEND:\n if (!value || !fieldValue || !Array.isArray(fieldValue)) {\n return;\n }\n\n const oldData = (data && get(data, field)) ?? [];\n set(update, field, [...oldData, ...fieldValue]);\n\n break;\n default:\n break;\n }\n });\n\n return {\n ...data,\n ...update\n };\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAAoF,IAEvEG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,kBAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,kBAAA;IAAAK,GAAA;IAAAC,KAAA,EAC3B,SAAOC,eAAeA,CAACC,IAAc,EAAEC,KAAe,EAAE;MACpD,IAAMC,MAAM,OAAAC,cAAA,CAAAR,OAAA,MAAQK,IAAI,CAAE;MAE1BC,KAAK,CAACG,UAAU,CAACC,OAAO,CAAC,UAAAC,SAAS,EAAI;QAClC,IAAQC,KAAK,GAAsBD,SAAS,CAApCC,KAAK;UAAEC,QAAQ,GAAYF,SAAS,CAA7BE,QAAQ;UAAEV,KAAK,GAAKQ,SAAS,CAAnBR,KAAK;QAC9B,IAAMW,UAAU,GAAG,IAAAC,YAAG,EAACZ,KAAK,EAAES,KAAK,CAAC;QAEpC,QAAQC,QAAQ;UACZ,KAAKG,oBAAY,CAACC,QAAQ;YACtB,IAAI,CAACH,UAAU,EAAE;cACb;YACJ;YAEA,IAAAI,YAAG,EAACX,MAAM,EAAEK,KAAK,EAAEE,UAAU,CAAC;YAC9B;UACJ,KAAKE,oBAAY,CAACG,MAAM;YACpB,IAAAD,YAAG,EAACX,MAAM,EAAEK,KAAK,EAAE,IAAI,CAAC;YACxB;UACJ,KAAKI,oBAAY,CAACI,MAAM;YACpB,IAAI,CAACjB,KAAK,IAAI,CAACW,UAAU,IAAI,CAACO,KAAK,CAACC,OAAO,CAACR,UAAU,CAAC,EAAE;cACrD;YACJ;YAEA,IAAMS,OAAO,GAAG,CAAClB,IAAI,IAAI,IAAAU,YAAG,EAACV,IAAI,EAAEO,KAAK,CAAC,KAAK,EAAE;YAChD,IAAAM,YAAG,EAACX,MAAM,EAAEK,KAAK,KAAAY,MAAA,KAAAC,mBAAA,CAAAzB,OAAA,EAAMuB,OAAO,OAAAE,mBAAA,CAAAzB,OAAA,EAAKc,UAAU,EAAC,CAAC;YAE/C;UACJ;YACI;QACR;MACJ,CAAC,CAAC;MAEF,WAAAN,cAAA,CAAAR,OAAA,MAAAQ,cAAA,CAAAR,OAAA,MACOK,IAAI,GACJE,MAAM;IAEjB;EAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_zod","_interopRequireDefault","require","operationValidationSchema","zod","object","field","string","trim","min","operator","batchValidationSchema","exports","operations","array","Batch","_classCallCheck2","default","_createClass2","key","value","createEmpty","Operation","validate","data","safeParse","_defineProperty2","undefined"],"sources":["Batch.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport interface BatchDTO {\n operations: OperationDTO[];\n}\n\nconst operationValidationSchema = zod.object({\n field: zod.string().trim().min(1, \"Field is required.\"),\n operator: zod.string().min(1, \"Operator is required.\")\n});\n\nexport const batchValidationSchema = zod.object({\n operations: zod.array(operationValidationSchema).min(1)\n});\n\nexport class Batch {\n operations: Operation[];\n\n static createEmpty() {\n return new Batch([new Operation()]);\n }\n\n static validate(data: BatchDTO) {\n return batchValidationSchema.safeParse(data);\n }\n\n protected constructor(operations: Operation[]) {\n this.operations = operations;\n }\n}\n\nexport interface OperationDTO {\n field: string;\n operator: string;\n value?: Record<string, any>;\n}\n\nexport class Operation {\n public readonly field?: string;\n public readonly operator?: string;\n public readonly value?: Record<string, any> = undefined;\n\n constructor(field?: string, operator?: string, value?: any) {\n this.field = field;\n this.operator = operator;\n this.value = value;\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAMC,yBAAyB,GAAGC,YAAG,CAACC,MAAM,CAAC;EACzCC,KAAK,EAAEF,YAAG,CAACG,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;EACvDC,QAAQ,EAAEN,YAAG,CAACG,MAAM,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,EAAE,uBAAuB;AACzD,CAAC,CAAC;AAEK,IAAME,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGP,YAAG,CAACC,MAAM,CAAC;EAC5CQ,UAAU,EAAET,YAAG,CAACU,KAAK,CAACX,yBAAyB,CAAC,CAACM,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAAC,IAEUM,KAAK,GAAAH,OAAA,CAAAG,KAAA;EAWd,SAAAA,MAAsBF,UAAuB,EAAE;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAF,KAAA;IAC3C,IAAI,CAACF,UAAU,GAAGA,UAAU;EAChC;EAAC,WAAAK,aAAA,CAAAD,OAAA,EAAAF,KAAA;IAAAI,GAAA;IAAAC,KAAA,EAVD,SAAAC,YAAA,EAAqB;MACjB,OAAO,IAAIN,KAAK,CAAC,CAAC,IAAIO,SAAS,CAAC,CAAC,CAAC,CAAC;IACvC;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,SAAgBC,IAAc,EAAE;MAC5B,OAAOb,qBAAqB,CAACc,SAAS,CAACD,IAAI,CAAC;IAChD;EAAC;AAAA;AAAA,IAaQF,SAAS,GAAAV,OAAA,CAAAU,SAAA,oBAAAJ,aAAA,CAAAD,OAAA,EAKlB,SAAAK,UAAYhB,KAAc,EAAEI,QAAiB,EAAEU,KAAW,EAAE;EAAA,IAAAJ,gBAAA,CAAAC,OAAA,QAAAK,SAAA;EAAA,IAAAI,gBAAA,CAAAT,OAAA,iBAFdU,SAAS;EAGnD,IAAI,CAACrB,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACI,QAAQ,GAAGA,QAAQ;EACxB,IAAI,CAACU,KAAK,GAAGA,KAAK;AACtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","operationValidationSchema","zod","object","field","string","trim","min","operator","batchValidationSchema","exports","operations","array","Batch","_classCallCheck2","default","_createClass2","key","value","createEmpty","Operation","validate","data","safeParse","_defineProperty2","undefined"],"sources":["Batch.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport interface BatchDTO {\n operations: OperationDTO[];\n}\n\nconst operationValidationSchema = zod.object({\n field: zod.string().trim().min(1, \"Field is required.\"),\n operator: zod.string().min(1, \"Operator is required.\")\n});\n\nexport const batchValidationSchema = zod.object({\n operations: zod.array(operationValidationSchema).min(1)\n});\n\nexport class Batch {\n operations: Operation[];\n\n static createEmpty() {\n return new Batch([new Operation()]);\n }\n\n static validate(data: BatchDTO) {\n return batchValidationSchema.safeParse(data);\n }\n\n protected constructor(operations: Operation[]) {\n this.operations = operations;\n }\n}\n\nexport interface OperationDTO {\n field: string;\n operator: string;\n value?: Record<string, any>;\n}\n\nexport class Operation {\n public readonly field?: string;\n public readonly operator?: string;\n public readonly value?: Record<string, any> = undefined;\n\n constructor(field?: string, operator?: string, value?: any) {\n this.field = field;\n this.operator = operator;\n this.value = value;\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAMC,yBAAyB,GAAGC,YAAG,CAACC,MAAM,CAAC;EACzCC,KAAK,EAAEF,YAAG,CAACG,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;EACvDC,QAAQ,EAAEN,YAAG,CAACG,MAAM,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,EAAE,uBAAuB;AACzD,CAAC,CAAC;AAEK,IAAME,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGP,YAAG,CAACC,MAAM,CAAC;EAC5CQ,UAAU,EAAET,YAAG,CAACU,KAAK,CAACX,yBAAyB,CAAC,CAACM,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAAC,IAEUM,KAAK,GAAAH,OAAA,CAAAG,KAAA;EAWd,SAAAA,MAAsBF,UAAuB,EAAE;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAF,KAAA;IAC3C,IAAI,CAACF,UAAU,GAAGA,UAAU;EAChC;EAAC,WAAAK,aAAA,CAAAD,OAAA,EAAAF,KAAA;IAAAI,GAAA;IAAAC,KAAA,EAVD,SAAOC,WAAWA,CAAA,EAAG;MACjB,OAAO,IAAIN,KAAK,CAAC,CAAC,IAAIO,SAAS,CAAC,CAAC,CAAC,CAAC;IACvC;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAOG,QAAQA,CAACC,IAAc,EAAE;MAC5B,OAAOb,qBAAqB,CAACc,SAAS,CAACD,IAAI,CAAC;IAChD;EAAC;AAAA;AAAA,IAaQF,SAAS,GAAAV,OAAA,CAAAU,SAAA,oBAAAJ,aAAA,CAAAD,OAAA,EAKlB,SAAAK,UAAYhB,KAAc,EAAEI,QAAiB,EAAEU,KAAW,EAAE;EAAA,IAAAJ,gBAAA,CAAAC,OAAA,QAAAK,SAAA;EAAA,IAAAI,gBAAA,CAAAT,OAAA,iBAFdU,SAAS;EAGnD,IAAI,CAACrB,KAAK,GAAGA,KAAK;EAClB,IAAI,CAACI,QAAQ,GAAGA,QAAQ;EACxB,IAAI,CAACU,KAAK,GAAGA,KAAK;AACtB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BatchMapper","exports","_classCallCheck2","default","_createClass2","key","value","toDTO","input","operations","map","operation","operator","field","undefined"],"sources":["BatchMapper.ts"],"sourcesContent":["import { Batch, BatchDTO } from \"./Batch\";\n\nexport class BatchMapper {\n static toDTO(input: Batch): BatchDTO {\n return {\n operations: input.operations.map(operation => ({\n operator: operation.operator || \"\",\n field: operation.field || \"\",\n value: operation.value || undefined\n }))\n };\n }\n}\n"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAAC,OAAA,CAAAD,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,WAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,WAAA;IAAAK,GAAA;IAAAC,KAAA,EACpB,SAAAC,MAAaC,KAAY,EAAY;MACjC,OAAO;QACHC,UAAU,EAAED,KAAK,CAACC,UAAU,CAACC,GAAG,CAAC,UAAAC,SAAS;UAAA,OAAK;YAC3CC,QAAQ,EAAED,SAAS,CAACC,QAAQ,IAAI,EAAE;YAClCC,KAAK,EAAEF,SAAS,CAACE,KAAK,IAAI,EAAE;YAC5BP,KAAK,EAAEK,SAAS,CAACL,KAAK,IAAIQ;UAC9B,CAAC;QAAA,CAAC;MACN,CAAC;IACL;EAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["BatchMapper","exports","_classCallCheck2","default","_createClass2","key","value","toDTO","input","operations","map","operation","operator","field","undefined"],"sources":["BatchMapper.ts"],"sourcesContent":["import { Batch, BatchDTO } from \"./Batch\";\n\nexport class BatchMapper {\n static toDTO(input: Batch): BatchDTO {\n return {\n operations: input.operations.map(operation => ({\n operator: operation.operator || \"\",\n field: operation.field || \"\",\n value: operation.value || undefined\n }))\n };\n }\n}\n"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAAC,OAAA,CAAAD,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,WAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,WAAA;IAAAK,GAAA;IAAAC,KAAA,EACpB,SAAOC,KAAKA,CAACC,KAAY,EAAY;MACjC,OAAO;QACHC,UAAU,EAAED,KAAK,CAACC,UAAU,CAACC,GAAG,CAAC,UAAAC,SAAS;UAAA,OAAK;YAC3CC,QAAQ,EAAED,SAAS,CAACC,QAAQ,IAAI,EAAE;YAClCC,KAAK,EAAEF,SAAS,CAACE,KAAK,IAAI,EAAE;YAC5BP,KAAK,EAAEK,SAAS,CAACL,KAAK,IAAIQ;UAC9B,CAAC;QAAA,CAAC;MACN,CAAC;IACL;EAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["OperatorType","exports","Field","label","value","operators","renderer","_classCallCheck2","default","raw","_createClass2","key","createFromRaw","field","fieldId","Operator","createFromField","createFrom","rawData","_this","OVERRIDE","REMOVE","multipleValues","push","APPEND","map","operator"],"sources":["Field.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/app-headless-cms-common/types/model\";\n\nexport type FieldRaw = CmsModelField;\n\nexport enum OperatorType {\n OVERRIDE = \"OVERRIDE\",\n APPEND = \"APPEND\",\n REMOVE = \"REMOVE\"\n}\n\nexport interface FieldDTO {\n label: string;\n value: string;\n operators: OperatorDTO[];\n raw: FieldRaw;\n}\n\nexport class Field {\n public readonly label: string;\n public readonly value: string;\n public readonly operators: Operator[];\n public readonly raw: FieldRaw;\n\n static createFromRaw(field: FieldRaw) {\n const label = field.label;\n const value = field.fieldId;\n const operators = Operator.createFromField(field);\n return new Field(label, value, operators, field);\n }\n\n private constructor(label: string, value: string, operators: Operator[], renderer: FieldRaw) {\n this.label = label;\n this.value = value;\n this.operators = operators;\n this.raw = renderer;\n }\n}\n\nexport interface OperatorDTO {\n label: string;\n value: string;\n}\n\nexport class Operator {\n public readonly label: string;\n public readonly value: string;\n\n static createFrom(rawData: OperatorDTO) {\n return new Operator(rawData.label, rawData.value);\n }\n\n static createFromField(field: CmsModelField) {\n const operators = [\n {\n label: \"Override existing values\",\n value: OperatorType.OVERRIDE\n },\n {\n label: \"Clear all existing values\",\n value: OperatorType.REMOVE\n }\n ];\n\n if (field.multipleValues) {\n operators.push({\n label: \"Append to existing values\",\n value: OperatorType.APPEND\n });\n }\n\n return operators.map(operator => this.createFrom(operator));\n }\n\n private constructor(label: string, value: string) {\n this.label = label;\n this.value = value;\n }\n}\n"],"mappings":";;;;;;;;;IAIYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAaXE,KAAK,GAAAD,OAAA,CAAAC,KAAA;EAad,SAAAA,MAAoBC,KAAa,EAAEC,KAAa,EAAEC,SAAqB,EAAEC,QAAkB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAN,KAAA;IACzF,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACI,GAAG,GAAGH,QAAQ;EACvB;EAAC,WAAAI,aAAA,CAAAF,OAAA,EAAAN,KAAA;IAAAS,GAAA;IAAAP,KAAA,EAZD,SAAAQ,cAAqBC,KAAe,EAAE;MAClC,IAAMV,KAAK,GAAGU,KAAK,CAACV,KAAK;MACzB,IAAMC,KAAK,GAAGS,KAAK,CAACC,OAAO;MAC3B,IAAMT,SAAS,GAAGU,QAAQ,CAACC,eAAe,CAACH,KAAK,CAAC;MACjD,OAAO,IAAIX,KAAK,CAACC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAEQ,KAAK,CAAC;IACpD;EAAC;AAAA;AAAA,IAeQE,QAAQ,GAAAd,OAAA,CAAAc,QAAA;EA8BjB,SAAAA,SAAoBZ,KAAa,EAAEC,KAAa,EAAE;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAO,QAAA;IAC9C,IAAI,CAACZ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAAC,WAAAM,aAAA,CAAAF,OAAA,EAAAO,QAAA;IAAAJ,GAAA;IAAAP,KAAA,EA7BD,SAAAa,WAAkBC,OAAoB,EAAE;MACpC,OAAO,IAAIH,QAAQ,CAACG,OAAO,CAACf,KAAK,EAAEe,OAAO,CAACd,KAAK,CAAC;IACrD;EAAC;IAAAO,GAAA;IAAAP,KAAA,EAED,SAAAY,gBAAuBH,KAAoB,EAAE;MAAA,IAAAM,KAAA;MACzC,IAAMd,SAAS,GAAG,CACd;QACIF,KAAK,EAAE,0BAA0B;QACjCC,KAAK,EAAEJ,YAAY,CAACoB;MACxB,CAAC,EACD;QACIjB,KAAK,EAAE,2BAA2B;QAClCC,KAAK,EAAEJ,YAAY,CAACqB;MACxB,CAAC,CACJ;MAED,IAAIR,KAAK,CAACS,cAAc,EAAE;QACtBjB,SAAS,CAACkB,IAAI,CAAC;UACXpB,KAAK,EAAE,2BAA2B;UAClCC,KAAK,EAAEJ,YAAY,CAACwB;QACxB,CAAC,CAAC;MACN;MAEA,OAAOnB,SAAS,CAACoB,GAAG,CAAC,UAAAC,QAAQ;QAAA,OAAIP,KAAI,CAACF,UAAU,CAACS,QAAQ,CAAC;MAAA,EAAC;IAC/D;EAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["OperatorType","exports","Field","label","value","operators","renderer","_classCallCheck2","default","raw","_createClass2","key","createFromRaw","field","fieldId","Operator","createFromField","createFrom","rawData","_this","OVERRIDE","REMOVE","multipleValues","push","APPEND","map","operator"],"sources":["Field.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/app-headless-cms-common/types/model\";\n\nexport type FieldRaw = CmsModelField;\n\nexport enum OperatorType {\n OVERRIDE = \"OVERRIDE\",\n APPEND = \"APPEND\",\n REMOVE = \"REMOVE\"\n}\n\nexport interface FieldDTO {\n label: string;\n value: string;\n operators: OperatorDTO[];\n raw: FieldRaw;\n}\n\nexport class Field {\n public readonly label: string;\n public readonly value: string;\n public readonly operators: Operator[];\n public readonly raw: FieldRaw;\n\n static createFromRaw(field: FieldRaw) {\n const label = field.label;\n const value = field.fieldId;\n const operators = Operator.createFromField(field);\n return new Field(label, value, operators, field);\n }\n\n private constructor(label: string, value: string, operators: Operator[], renderer: FieldRaw) {\n this.label = label;\n this.value = value;\n this.operators = operators;\n this.raw = renderer;\n }\n}\n\nexport interface OperatorDTO {\n label: string;\n value: string;\n}\n\nexport class Operator {\n public readonly label: string;\n public readonly value: string;\n\n static createFrom(rawData: OperatorDTO) {\n return new Operator(rawData.label, rawData.value);\n }\n\n static createFromField(field: CmsModelField) {\n const operators = [\n {\n label: \"Override existing values\",\n value: OperatorType.OVERRIDE\n },\n {\n label: \"Clear all existing values\",\n value: OperatorType.REMOVE\n }\n ];\n\n if (field.multipleValues) {\n operators.push({\n label: \"Append to existing values\",\n value: OperatorType.APPEND\n });\n }\n\n return operators.map(operator => this.createFrom(operator));\n }\n\n private constructor(label: string, value: string) {\n this.label = label;\n this.value = value;\n }\n}\n"],"mappings":";;;;;;;;;IAIYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAaXE,KAAK,GAAAD,OAAA,CAAAC,KAAA;EAad,SAAAA,MAAoBC,KAAa,EAAEC,KAAa,EAAEC,SAAqB,EAAEC,QAAkB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAN,KAAA;IACzF,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACI,GAAG,GAAGH,QAAQ;EACvB;EAAC,WAAAI,aAAA,CAAAF,OAAA,EAAAN,KAAA;IAAAS,GAAA;IAAAP,KAAA,EAZD,SAAOQ,aAAaA,CAACC,KAAe,EAAE;MAClC,IAAMV,KAAK,GAAGU,KAAK,CAACV,KAAK;MACzB,IAAMC,KAAK,GAAGS,KAAK,CAACC,OAAO;MAC3B,IAAMT,SAAS,GAAGU,QAAQ,CAACC,eAAe,CAACH,KAAK,CAAC;MACjD,OAAO,IAAIX,KAAK,CAACC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAEQ,KAAK,CAAC;IACpD;EAAC;AAAA;AAAA,IAeQE,QAAQ,GAAAd,OAAA,CAAAc,QAAA;EA8BjB,SAAAA,SAAoBZ,KAAa,EAAEC,KAAa,EAAE;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAO,QAAA;IAC9C,IAAI,CAACZ,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAAC,WAAAM,aAAA,CAAAF,OAAA,EAAAO,QAAA;IAAAJ,GAAA;IAAAP,KAAA,EA7BD,SAAOa,UAAUA,CAACC,OAAoB,EAAE;MACpC,OAAO,IAAIH,QAAQ,CAACG,OAAO,CAACf,KAAK,EAAEe,OAAO,CAACd,KAAK,CAAC;IACrD;EAAC;IAAAO,GAAA;IAAAP,KAAA,EAED,SAAOY,eAAeA,CAACH,KAAoB,EAAE;MAAA,IAAAM,KAAA;MACzC,IAAMd,SAAS,GAAG,CACd;QACIF,KAAK,EAAE,0BAA0B;QACjCC,KAAK,EAAEJ,YAAY,CAACoB;MACxB,CAAC,EACD;QACIjB,KAAK,EAAE,2BAA2B;QAClCC,KAAK,EAAEJ,YAAY,CAACqB;MACxB,CAAC,CACJ;MAED,IAAIR,KAAK,CAACS,cAAc,EAAE;QACtBjB,SAAS,CAACkB,IAAI,CAAC;UACXpB,KAAK,EAAE,2BAA2B;UAClCC,KAAK,EAAEJ,YAAY,CAACwB;QACxB,CAAC,CAAC;MACN;MAEA,OAAOnB,SAAS,CAACoB,GAAG,CAAC,UAAAC,QAAQ;QAAA,OAAIP,KAAI,CAACF,UAAU,CAACS,QAAQ,CAAC;MAAA,EAAC;IAC/D;EAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FieldMapper","exports","_classCallCheck2","default","_createClass2","key","value","toDTO","configuration","map","field","label","operators","OperatorMapper","raw","operator"],"sources":["FieldMapper.ts"],"sourcesContent":["import { Field, FieldDTO, Operator, OperatorDTO } from \"./Field\";\n\nexport class FieldMapper {\n static toDTO(configuration: Field[]): FieldDTO[] {\n return configuration.map(field => {\n return {\n label: field.label,\n value: field.value,\n operators: OperatorMapper.toDTO(field.operators),\n raw: field.raw\n };\n });\n }\n}\n\nexport class OperatorMapper {\n static toDTO(operators: Operator[]): OperatorDTO[] {\n return operators.map(operator => ({\n value: operator.value || \"\",\n label: operator.label || \"\"\n }));\n }\n}\n"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAAC,OAAA,CAAAD,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,WAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,WAAA;IAAAK,GAAA;IAAAC,KAAA,EACpB,SAAAC,MAAaC,aAAsB,EAAc;MAC7C,OAAOA,aAAa,CAACC,GAAG,CAAC,UAAAC,KAAK,EAAI;QAC9B,OAAO;UACHC,KAAK,EAAED,KAAK,CAACC,KAAK;UAClBL,KAAK,EAAEI,KAAK,CAACJ,KAAK;UAClBM,SAAS,EAAEC,cAAc,CAACN,KAAK,CAACG,KAAK,CAACE,SAAS,CAAC;UAChDE,GAAG,EAAEJ,KAAK,CAACI;QACf,CAAC;MACL,CAAC,CAAC;IACN;EAAC;AAAA;AAAA,IAGQD,cAAc,GAAAZ,OAAA,CAAAY,cAAA;EAAA,SAAAA,eAAA;IAAA,IAAAX,gBAAA,CAAAC,OAAA,QAAAU,cAAA;EAAA;EAAA,WAAAT,aAAA,CAAAD,OAAA,EAAAU,cAAA;IAAAR,GAAA;IAAAC,KAAA,EACvB,SAAAC,MAAaK,SAAqB,EAAiB;MAC/C,OAAOA,SAAS,CAACH,GAAG,CAAC,UAAAM,QAAQ;QAAA,OAAK;UAC9BT,KAAK,EAAES,QAAQ,CAACT,KAAK,IAAI,EAAE;UAC3BK,KAAK,EAAEI,QAAQ,CAACJ,KAAK,IAAI;QAC7B,CAAC;MAAA,CAAC,CAAC;IACP;EAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["FieldMapper","exports","_classCallCheck2","default","_createClass2","key","value","toDTO","configuration","map","field","label","operators","OperatorMapper","raw","operator"],"sources":["FieldMapper.ts"],"sourcesContent":["import { Field, FieldDTO, Operator, OperatorDTO } from \"./Field\";\n\nexport class FieldMapper {\n static toDTO(configuration: Field[]): FieldDTO[] {\n return configuration.map(field => {\n return {\n label: field.label,\n value: field.value,\n operators: OperatorMapper.toDTO(field.operators),\n raw: field.raw\n };\n });\n }\n}\n\nexport class OperatorMapper {\n static toDTO(operators: Operator[]): OperatorDTO[] {\n return operators.map(operator => ({\n value: operator.value || \"\",\n label: operator.label || \"\"\n }));\n }\n}\n"],"mappings":";;;;;;;;;IAEaA,WAAW,GAAAC,OAAA,CAAAD,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,WAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,WAAA;IAAAK,GAAA;IAAAC,KAAA,EACpB,SAAOC,KAAKA,CAACC,aAAsB,EAAc;MAC7C,OAAOA,aAAa,CAACC,GAAG,CAAC,UAAAC,KAAK,EAAI;QAC9B,OAAO;UACHC,KAAK,EAAED,KAAK,CAACC,KAAK;UAClBL,KAAK,EAAEI,KAAK,CAACJ,KAAK;UAClBM,SAAS,EAAEC,cAAc,CAACN,KAAK,CAACG,KAAK,CAACE,SAAS,CAAC;UAChDE,GAAG,EAAEJ,KAAK,CAACI;QACf,CAAC;MACL,CAAC,CAAC;IACN;EAAC;AAAA;AAAA,IAGQD,cAAc,GAAAZ,OAAA,CAAAY,cAAA;EAAA,SAAAA,eAAA;IAAA,IAAAX,gBAAA,CAAAC,OAAA,QAAAU,cAAA;EAAA;EAAA,WAAAT,aAAA,CAAAD,OAAA,EAAAU,cAAA;IAAAR,GAAA;IAAAC,KAAA,EACvB,SAAOC,KAAKA,CAACK,SAAqB,EAAiB;MAC/C,OAAOA,SAAS,CAACH,GAAG,CAAC,UAAAM,QAAQ;QAAA,OAAK;UAC9BT,KAAK,EAAES,QAAQ,CAACT,KAAK,IAAI,EAAE;UAC3BK,KAAK,EAAEI,QAAQ,CAACJ,KAAK,IAAI;QAC7B,CAAC;MAAA,CAAC,CAAC;IACP;EAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_omit","_interopRequireDefault","_appHeadlessCmsCommon","_GraphQLInputMapper","_FileManagerViewProvider","_","_FileManagerApiContext","_FileManagerViewConfig","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useBulkActionDialog","useDialog","useActionEditWorker","fields","_useFileManagerView","useFileManagerView","updateFile","_useBulkActionDialog","showConfirmationDialog","showResultsDialog","worker","_useFileManagerApi","useFileManagerApi","canEdit","filesLabel","useMemo","getFilesLabel","items","length","canEditAll","every","item","openWorkerDialog","batch","title","message","concat","loadingLabel","execute","processInSeries","_ref","report","modifiedFileData","GraphQLInputMapper","applyOperations","output","omit","fileData","prepareFormData","id","success","name","e","error","resetItems","results"],"sources":["useActionEditWorker.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport omit from \"lodash/omit\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { prepareFormData } from \"@webiny/app-headless-cms-common\";\nimport { CmsModelField } from \"@webiny/app-headless-cms-common/types\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\nimport { GraphQLInputMapper } from \"~/components/BulkActions/ActionEdit/GraphQLInputMapper\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { getFilesLabel } from \"~/components/BulkActions\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\n\nconst { useWorker, useDialog: useBulkActionDialog } = FileManagerViewConfig.Browser.BulkAction;\n\nexport function useActionEditWorker(fields: CmsModelField[]) {\n const { updateFile } = useFileManagerView();\n const { showConfirmationDialog, showResultsDialog } = useBulkActionDialog();\n const worker = useWorker();\n const { canEdit } = useFileManagerApi();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const canEditAll = useMemo(() => {\n return worker.items.every(item => canEdit(item));\n }, [worker.items]);\n\n const openWorkerDialog = (batch: BatchDTO) => {\n showConfirmationDialog({\n title: \"Edit files\",\n message: `You are about to edit ${filesLabel}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n const modifiedFileData = GraphQLInputMapper.applyOperations(\n item,\n batch\n ) as FileItem;\n\n const output = omit(modifiedFileData, [\n \"id\",\n \"createdBy\",\n \"createdOn\",\n \"src\"\n ]);\n\n const fileData = prepareFormData(output, fields);\n\n await updateFile(item.id, fileData);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully edited.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Edit files\",\n message: \"Finished editing files! See full report below:\"\n });\n }\n });\n };\n\n return { filesLabel, canEditAll, openWorkerDialog };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_omit","_interopRequireDefault","_appHeadlessCmsCommon","_GraphQLInputMapper","_FileManagerViewProvider","_","_FileManagerApiContext","_FileManagerViewConfig","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useBulkActionDialog","useDialog","useActionEditWorker","fields","_useFileManagerView","useFileManagerView","updateFile","_useBulkActionDialog","showConfirmationDialog","showResultsDialog","worker","_useFileManagerApi","useFileManagerApi","canEdit","filesLabel","useMemo","getFilesLabel","items","length","canEditAll","every","item","openWorkerDialog","batch","title","message","concat","loadingLabel","execute","processInSeries","_ref","report","modifiedFileData","GraphQLInputMapper","applyOperations","output","omit","fileData","prepareFormData","id","success","name","e","error","resetItems","results"],"sources":["useActionEditWorker.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport omit from \"lodash/omit\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { prepareFormData } from \"@webiny/app-headless-cms-common\";\nimport { CmsModelField } from \"@webiny/app-headless-cms-common/types\";\nimport { BatchDTO } from \"~/components/BulkActions/ActionEdit/domain\";\nimport { GraphQLInputMapper } from \"~/components/BulkActions/ActionEdit/GraphQLInputMapper\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { getFilesLabel } from \"~/components/BulkActions\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\n\nconst { useWorker, useDialog: useBulkActionDialog } = FileManagerViewConfig.Browser.BulkAction;\n\nexport function useActionEditWorker(fields: CmsModelField[]) {\n const { updateFile } = useFileManagerView();\n const { showConfirmationDialog, showResultsDialog } = useBulkActionDialog();\n const worker = useWorker();\n const { canEdit } = useFileManagerApi();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const canEditAll = useMemo(() => {\n return worker.items.every(item => canEdit(item));\n }, [worker.items]);\n\n const openWorkerDialog = (batch: BatchDTO) => {\n showConfirmationDialog({\n title: \"Edit files\",\n message: `You are about to edit ${filesLabel}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n const modifiedFileData = GraphQLInputMapper.applyOperations(\n item,\n batch\n ) as FileItem;\n\n const output = omit(modifiedFileData, [\n \"id\",\n \"createdBy\",\n \"createdOn\",\n \"src\"\n ]);\n\n const fileData = prepareFormData(output, fields);\n\n await updateFile(item.id, fileData);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully edited.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Edit files\",\n message: \"Finished editing files! See full report below:\"\n });\n }\n });\n };\n\n return { filesLabel, canEditAll, openWorkerDialog };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_drive_file_move","_mobxReactLite","_appAco","_FileManagerViewProvider","_FileManagerViewConfig","_BulkActions","_constants","ActionMove","exports","observer","_useFileManagerView","useFileManagerView","moveFileToFolder","_useNavigateFolder","useNavigateFolder","currentFolderId","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useButtons","useDialog","_useButtons","IconButton","worker","_useDialog","showConfirmationDialog","showResultsDialog","_useMoveToFolderDialo","useMoveToFolderDialog","showMoveDialog","showDialog","filesLabel","useMemo","getFilesLabel","items","length","openWorkerDialog","useCallback","folder","title","message","concat","loadingLabel","execute","processInSeries","_ref","item","report","id","success","name","e","error","resetItems","results","openMoveDialog","acceptLabel","focusedFolderId","ROOT_FOLDER","onAccept","_ref2","default","createElement","icon","ReactComponent","onAction","label","tooltipPlacement"],"sources":["ActionMove.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { ReactComponent as MoveIcon } from \"@material-design-icons/svg/outlined/drive_file_move.svg\";\nimport { observer } from \"mobx-react-lite\";\nimport { useMoveToFolderDialog, useNavigateFolder } from \"@webiny/app-aco\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\n\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { getFilesLabel } from \"~/components/BulkActions/BulkActions\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport const ActionMove = observer(() => {\n const { moveFileToFolder } = useFileManagerView();\n const { currentFolderId } = useNavigateFolder();\n\n const { useWorker, useButtons, useDialog } = FileManagerViewConfig.Browser.BulkAction;\n const { IconButton } = useButtons();\n const worker = useWorker();\n const { showConfirmationDialog, showResultsDialog } = useDialog();\n const { showDialog: showMoveDialog } = useMoveToFolderDialog();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const openWorkerDialog = useCallback(\n (folder: FolderItem) => {\n showConfirmationDialog({\n title: \"Move files\",\n message: `You are about to move ${filesLabel} to ${folder.title}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n await moveFileToFolder(item.id, folder.id);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully moved.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Move files\",\n message: \"Finished moving files! See full report below:\"\n });\n }\n });\n },\n [filesLabel]\n );\n\n const openMoveDialog = () =>\n showMoveDialog({\n title: \"Select folder\",\n message: \"Select a new location for selected files:\",\n loadingLabel: `Processing ${filesLabel}`,\n acceptLabel: `Move`,\n focusedFolderId: currentFolderId || ROOT_FOLDER,\n async onAccept({ folder }) {\n openWorkerDialog(folder);\n }\n });\n\n return (\n <IconButton\n icon={<MoveIcon />}\n onAction={openMoveDialog}\n label={`Move ${filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n );\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAGA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAEO,IAAMQ,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,uBAAQ,EAAC,YAAM;EACrC,IAAAC,mBAAA,GAA6B,IAAAC,2CAAkB,EAAC,CAAC;IAAzCC,gBAAgB,GAAAF,mBAAA,CAAhBE,gBAAgB;EACxB,IAAAC,kBAAA,GAA4B,IAAAC,yBAAiB,EAAC,CAAC;IAAvCC,eAAe,GAAAF,kBAAA,CAAfE,eAAe;EAEvB,IAAAC,qBAAA,GAA6CC,4CAAqB,CAACC,OAAO,CAACC,UAAU;IAA7EC,SAAS,GAAAJ,qBAAA,CAATI,SAAS;IAAEC,UAAU,GAAAL,qBAAA,CAAVK,UAAU;IAAEC,SAAS,GAAAN,qBAAA,CAATM,SAAS;EACxC,IAAAC,WAAA,GAAuBF,UAAU,CAAC,CAAC;IAA3BG,UAAU,GAAAD,WAAA,CAAVC,UAAU;EAClB,IAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,IAAAM,UAAA,GAAsDJ,SAAS,CAAC,CAAC;IAAzDK,sBAAsB,GAAAD,UAAA,CAAtBC,sBAAsB;IAAEC,iBAAiB,GAAAF,UAAA,CAAjBE,iBAAiB;EACjD,IAAAC,qBAAA,GAAuC,IAAAC,6BAAqB,EAAC,CAAC;IAA1CC,cAAc,GAAAF,qBAAA,CAA1BG,UAAU;EAElB,IAAMC,UAAU,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC7B,OAAO,IAAAC,0BAAa,EAACV,MAAM,CAACW,KAAK,CAACC,MAAM,CAAC;EAC7C,CAAC,EAAE,CAACZ,MAAM,CAACW,KAAK,CAACC,MAAM,CAAC,CAAC;EAEzB,IAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAChC,UAACC,MAAkB,EAAK;IACpBb,sBAAsB,CAAC;MACnBc,KAAK,EAAE,YAAY;MACnBC,OAAO,2BAAAC,MAAA,CAA2BV,UAAU,UAAAU,MAAA,CAAOH,MAAM,CAACC,KAAK,yCAAsC;MACrGG,YAAY,gBAAAD,MAAA,CAAgBV,UAAU,CAAE;MACxCY,OAAO,EAAE,eAAAA,QAAA,EAAY;QACjB,MAAMpB,MAAM,CAACqB,eAAe,CAAC,gBAAAC,IAAA,EAA4B;UAAA,IAAnBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;YAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;UAC9C,IAAI;YACA,MAAMrC,gBAAgB,CAACoC,IAAI,CAACE,EAAE,EAAEV,MAAM,CAACU,EAAE,CAAC;YAE1CD,MAAM,CAACE,OAAO,CAAC;cACXV,KAAK,KAAAE,MAAA,CAAKK,IAAI,CAACI,IAAI,CAAE;cACrBV,OAAO,EAAE;YACb,CAAC,CAAC;UACN,CAAC,CAAC,OAAOW,CAAC,EAAE;YACRJ,MAAM,CAACK,KAAK,CAAC;cACTb,KAAK,KAAAE,MAAA,CAAKK,IAAI,CAACI,IAAI,CAAE;cACrBV,OAAO,EAAEW,CAAC,CAACX;YACf,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;QAEFjB,MAAM,CAAC8B,UAAU,CAAC,CAAC;QAEnB3B,iBAAiB,CAAC;UACd4B,OAAO,EAAE/B,MAAM,CAAC+B,OAAO;UACvBf,KAAK,EAAE,YAAY;UACnBC,OAAO,EAAE;QACb,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACN,CAAC,EACD,CAACT,UAAU,CACf,CAAC;EAED,IAAMwB,cAAc,GAAG,SAAjBA,cAAcA,CAAA;IAAA,OAChB1B,cAAc,CAAC;MACXU,KAAK,EAAE,eAAe;MACtBC,OAAO,EAAE,2CAA2C;MACpDE,YAAY,gBAAAD,MAAA,CAAgBV,UAAU,CAAE;MACxCyB,WAAW,QAAQ;MACnBC,eAAe,EAAE5C,eAAe,IAAI6C,sBAAW;MACzCC,QAAQ,iBAAAA,SAAAC,KAAA,EAAa;QAAA,IAAVtB,MAAM,GAAAsB,KAAA,CAANtB,MAAM;QACnBF,gBAAgB,CAACE,MAAM,CAAC;MAC5B;IACJ,CAAC,CAAC;EAAA;EAEN,oBACI3C,MAAA,CAAAkE,OAAA,CAAAC,aAAA,CAACxC,UAAU;IACPyC,IAAI,eAAEpE,MAAA,CAAAkE,OAAA,CAAAC,aAAA,CAAChE,gBAAA,CAAAkE,cAAQ,MAAE,CAAE;IACnBC,QAAQ,EAAEV,cAAe;IACzBW,KAAK,UAAAzB,MAAA,CAAUV,UAAU,CAAG;IAC5BoC,gBAAgB,EAAE;EAAS,CAC9B,CAAC;AAEV,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_drive_file_move","_mobxReactLite","_appAco","_FileManagerViewProvider","_FileManagerViewConfig","_BulkActions","_constants","ActionMove","exports","observer","_useFileManagerView","useFileManagerView","moveFileToFolder","_useNavigateFolder","useNavigateFolder","currentFolderId","_FileManagerViewConfi","FileManagerViewConfig","Browser","BulkAction","useWorker","useButtons","useDialog","_useButtons","IconButton","worker","_useDialog","showConfirmationDialog","showResultsDialog","_useMoveToFolderDialo","useMoveToFolderDialog","showMoveDialog","showDialog","filesLabel","useMemo","getFilesLabel","items","length","openWorkerDialog","useCallback","folder","title","message","concat","loadingLabel","execute","processInSeries","_ref","item","report","id","success","name","e","error","resetItems","results","openMoveDialog","acceptLabel","focusedFolderId","ROOT_FOLDER","onAccept","_ref2","default","createElement","icon","ReactComponent","onAction","label","tooltipPlacement"],"sources":["ActionMove.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { ReactComponent as MoveIcon } from \"@material-design-icons/svg/outlined/drive_file_move.svg\";\nimport { observer } from \"mobx-react-lite\";\nimport { useMoveToFolderDialog, useNavigateFolder } from \"@webiny/app-aco\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\n\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { FileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { getFilesLabel } from \"~/components/BulkActions/BulkActions\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport const ActionMove = observer(() => {\n const { moveFileToFolder } = useFileManagerView();\n const { currentFolderId } = useNavigateFolder();\n\n const { useWorker, useButtons, useDialog } = FileManagerViewConfig.Browser.BulkAction;\n const { IconButton } = useButtons();\n const worker = useWorker();\n const { showConfirmationDialog, showResultsDialog } = useDialog();\n const { showDialog: showMoveDialog } = useMoveToFolderDialog();\n\n const filesLabel = useMemo(() => {\n return getFilesLabel(worker.items.length);\n }, [worker.items.length]);\n\n const openWorkerDialog = useCallback(\n (folder: FolderItem) => {\n showConfirmationDialog({\n title: \"Move files\",\n message: `You are about to move ${filesLabel} to ${folder.title}. Are you sure you want to continue?`,\n loadingLabel: `Processing ${filesLabel}`,\n execute: async () => {\n await worker.processInSeries(async ({ item, report }) => {\n try {\n await moveFileToFolder(item.id, folder.id);\n\n report.success({\n title: `${item.name}`,\n message: \"File successfully moved.\"\n });\n } catch (e) {\n report.error({\n title: `${item.name}`,\n message: e.message\n });\n }\n });\n\n worker.resetItems();\n\n showResultsDialog({\n results: worker.results,\n title: \"Move files\",\n message: \"Finished moving files! See full report below:\"\n });\n }\n });\n },\n [filesLabel]\n );\n\n const openMoveDialog = () =>\n showMoveDialog({\n title: \"Select folder\",\n message: \"Select a new location for selected files:\",\n loadingLabel: `Processing ${filesLabel}`,\n acceptLabel: `Move`,\n focusedFolderId: currentFolderId || ROOT_FOLDER,\n async onAccept({ folder }) {\n openWorkerDialog(folder);\n }\n });\n\n return (\n <IconButton\n icon={<MoveIcon />}\n onAction={openMoveDialog}\n label={`Move ${filesLabel}`}\n tooltipPlacement={\"bottom\"}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_close","_i18n","_appAdmin","_Button","_Typography","_FileManagerViewConfig","_FileManagerViewProvider","_BulkActions","_templateObject","t","i18n","ns","getFilesLabel","exports","count","arguments","length","undefined","concat","BulkActions","_useFileManagerViewCo","useFileManagerViewConfig","browser","view","useFileManagerView","headline","useMemo","_taggedTemplateLiteral2","default","label","selected","hasOnSelectCallback","createElement","BulkActionsContainer","BulkActionsInner","ButtonsContainer","Typography","use","Buttons","actions","bulkActions","IconButton","icon","ReactComponent","onClick","setSelected"],"sources":["BulkActions.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as Close } from \"@material-design-icons/svg/outlined/close.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Buttons } from \"@webiny/app-admin\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { useFileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nimport { BulkActionsContainer, BulkActionsInner, ButtonsContainer } from \"./BulkActions.styled\";\n\nconst t = i18n.ns(\"app-file-manager/components/bulk-actions\");\n\nexport const getFilesLabel = (count = 0): string => {\n return `${count} ${count === 1 ? \"file\" : \"files\"}`;\n};\n\nexport const BulkActions = () => {\n const { browser } = useFileManagerViewConfig();\n const view = useFileManagerView();\n\n const headline = useMemo((): string => {\n return t`{label} selected:`({\n label: getFilesLabel(view.selected.length)\n });\n }, [view.selected]);\n\n if (view.hasOnSelectCallback || !view.selected.length) {\n return null;\n }\n\n return (\n <BulkActionsContainer>\n <BulkActionsInner>\n <ButtonsContainer>\n <Typography use={\"headline6\"}>{headline}</Typography>\n <Buttons actions={browser.bulkActions} />\n </ButtonsContainer>\n <IconButton icon={<Close />} onClick={() => view.setSelected([])} />\n </BulkActionsInner>\n </BulkActionsContainer>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AAAgG,IAAAS,eAAA;AAEhG,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,0CAA0C,CAAC;AAEtD,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAA0B;EAAA,IAAtBE,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACnC,UAAAG,MAAA,CAAUJ,KAAK,OAAAI,MAAA,CAAIJ,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;AACrD,CAAC;AAEM,IAAMK,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAG,SAAdA,WAAWA,CAAA,EAAS;EAC7B,IAAAC,qBAAA,GAAoB,IAAAC,+CAAwB,EAAC,CAAC;IAAtCC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;EACf,IAAMC,IAAI,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EAEjC,IAAMC,QAAQ,GAAG,IAAAC,cAAO,EAAC,YAAc;IACnC,OAAOjB,CAAC,CAAAD,eAAA,KAAAA,eAAA,OAAAmB,uBAAA,CAAAC,OAAA,2BAAoB;MACxBC,KAAK,EAAEjB,aAAa,CAACW,IAAI,CAACO,QAAQ,CAACd,MAAM;IAC7C,CAAC,CAAC;EACN,CAAC,EAAE,CAACO,IAAI,CAACO,QAAQ,CAAC,CAAC;EAEnB,IAAIP,IAAI,CAACQ,mBAAmB,IAAI,CAACR,IAAI,CAACO,QAAQ,CAACd,MAAM,EAAE;IACnD,OAAO,IAAI;EACf;EAEA,oBACInB,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA0B,oBAAoB,qBACjBpC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA2B,gBAAgB,qBACbrC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA4B,gBAAgB,qBACbtC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC5B,WAAA,CAAAgC,UAAU;IAACC,GAAG,EAAE;EAAY,GAAEZ,QAAqB,CAAC,eACrD5B,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC9B,SAAA,CAAAoC,OAAO;IAACC,OAAO,EAAEjB,OAAO,CAACkB;EAAY,CAAE,CAC1B,CAAC,eACnB3C,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC7B,OAAA,CAAAsC,UAAU;IAACC,IAAI,eAAE7C,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAChC,MAAA,CAAA2C,cAAK,MAAE,CAAE;IAACC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMrB,IAAI,CAACsB,WAAW,CAAC,EAAE,CAAC;IAAA;EAAC,CAAE,CACrD,CACA,CAAC;AAE/B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_close","_i18n","_appAdmin","_Button","_Typography","_FileManagerViewConfig","_FileManagerViewProvider","_BulkActions","_templateObject","t","i18n","ns","getFilesLabel","exports","count","arguments","length","undefined","concat","BulkActions","_useFileManagerViewCo","useFileManagerViewConfig","browser","view","useFileManagerView","headline","useMemo","_taggedTemplateLiteral2","default","label","selected","hasOnSelectCallback","createElement","BulkActionsContainer","BulkActionsInner","ButtonsContainer","Typography","use","Buttons","actions","bulkActions","IconButton","icon","ReactComponent","onClick","setSelected"],"sources":["BulkActions.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as Close } from \"@material-design-icons/svg/outlined/close.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Buttons } from \"@webiny/app-admin\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { useFileManagerViewConfig } from \"~/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nimport { BulkActionsContainer, BulkActionsInner, ButtonsContainer } from \"./BulkActions.styled\";\n\nconst t = i18n.ns(\"app-file-manager/components/bulk-actions\");\n\nexport const getFilesLabel = (count = 0): string => {\n return `${count} ${count === 1 ? \"file\" : \"files\"}`;\n};\n\nexport const BulkActions = () => {\n const { browser } = useFileManagerViewConfig();\n const view = useFileManagerView();\n\n const headline = useMemo((): string => {\n return t`{label} selected:`({\n label: getFilesLabel(view.selected.length)\n });\n }, [view.selected]);\n\n if (view.hasOnSelectCallback || !view.selected.length) {\n return null;\n }\n\n return (\n <BulkActionsContainer>\n <BulkActionsInner>\n <ButtonsContainer>\n <Typography use={\"headline6\"}>{headline}</Typography>\n <Buttons actions={browser.bulkActions} />\n </ButtonsContainer>\n <IconButton icon={<Close />} onClick={() => view.setSelected([])} />\n </BulkActionsInner>\n </BulkActionsContainer>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AAAgG,IAAAS,eAAA;AAEhG,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,0CAA0C,CAAC;AAEtD,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAA0B;EAAA,IAAtBE,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACnC,UAAAG,MAAA,CAAUJ,KAAK,OAAAI,MAAA,CAAIJ,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;AACrD,CAAC;AAEM,IAAMK,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAG,SAAdA,WAAWA,CAAA,EAAS;EAC7B,IAAAC,qBAAA,GAAoB,IAAAC,+CAAwB,EAAC,CAAC;IAAtCC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;EACf,IAAMC,IAAI,GAAG,IAAAC,2CAAkB,EAAC,CAAC;EAEjC,IAAMC,QAAQ,GAAG,IAAAC,cAAO,EAAC,YAAc;IACnC,OAAOjB,CAAC,CAAAD,eAAA,KAAAA,eAAA,OAAAmB,uBAAA,CAAAC,OAAA,2BAAoB;MACxBC,KAAK,EAAEjB,aAAa,CAACW,IAAI,CAACO,QAAQ,CAACd,MAAM;IAC7C,CAAC,CAAC;EACN,CAAC,EAAE,CAACO,IAAI,CAACO,QAAQ,CAAC,CAAC;EAEnB,IAAIP,IAAI,CAACQ,mBAAmB,IAAI,CAACR,IAAI,CAACO,QAAQ,CAACd,MAAM,EAAE;IACnD,OAAO,IAAI;EACf;EAEA,oBACInB,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA0B,oBAAoB,qBACjBpC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA2B,gBAAgB,qBACbrC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAACzB,YAAA,CAAA4B,gBAAgB,qBACbtC,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC5B,WAAA,CAAAgC,UAAU;IAACC,GAAG,EAAE;EAAY,GAAEZ,QAAqB,CAAC,eACrD5B,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC9B,SAAA,CAAAoC,OAAO;IAACC,OAAO,EAAEjB,OAAO,CAACkB;EAAY,CAAE,CAC1B,CAAC,eACnB3C,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAC7B,OAAA,CAAAsC,UAAU;IAACC,IAAI,eAAE7C,MAAA,CAAA+B,OAAA,CAAAI,aAAA,CAAChC,MAAA,CAAA2C,cAAK,MAAE,CAAE;IAACC,OAAO,EAAE,SAATA,OAAOA,CAAA;MAAA,OAAQrB,IAAI,CAACsB,WAAW,CAAC,EAAE,CAAC;IAAA;EAAC,CAAE,CACrD,CACA,CAAC;AAE/B,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_Loading","_excluded","EditFileUsingUrlRepository","exports","getFileByUrl","updateFile","_classCallCheck2","default","getFileByUrlGateway","updateFileGateway","loading","Loading","makeAutoObservable","_createClass2","key","value","getLoading","loadFileByUrl","url","startLoading","LOADING_STATE","GET_FILE","file","execute","stopLoadingWithSuccess","err","stopLoadingWithError","message","undefined","input","UPDATE_FILE","id","data","_objectWithoutProperties2"],"sources":["EditFileUsingUrlRepository.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Loading, LOADING_STATE } from \"./Loading\";\n\nexport interface IGetFileByUrl {\n execute(url: string): Promise<FileItem>;\n}\n\nexport interface IUpdateFile {\n execute(id: string, data: Partial<FileItem>): Promise<void>;\n}\n\nexport class EditFileUsingUrlRepository {\n private readonly loading: Loading;\n private getFileByUrlGateway: IGetFileByUrl;\n private updateFileGateway: IUpdateFile;\n\n constructor(getFileByUrl: IGetFileByUrl, updateFile: IUpdateFile) {\n this.getFileByUrlGateway = getFileByUrl;\n this.updateFileGateway = updateFile;\n\n this.loading = new Loading();\n makeAutoObservable(this);\n }\n\n getLoading() {\n return this.loading;\n }\n\n async loadFileByUrl(url: string) {\n this.loading.startLoading(LOADING_STATE.GET_FILE);\n try {\n const file = await this.getFileByUrlGateway.execute(url);\n this.loading.stopLoadingWithSuccess();\n return file;\n } catch (err) {\n this.loading.stopLoadingWithError(err.message);\n }\n\n return undefined;\n }\n\n async updateFile(input: FileItem) {\n this.loading.startLoading(LOADING_STATE.UPDATE_FILE);\n try {\n const { id, ...data } = input;\n await this.updateFileGateway.execute(id, data);\n this.loading.stopLoadingWithSuccess();\n } catch (err) {\n this.loading.stopLoadingWithError(err.message);\n }\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAAmD,IAAAE,SAAA;AAAA,IAUtCC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAKnC,SAAAA,2BAAYE,YAA2B,EAAEC,UAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,0BAAA;IAC9D,IAAI,CAACM,mBAAmB,GAAGJ,YAAY;IACvC,IAAI,CAACK,iBAAiB,GAAGJ,UAAU;IAEnC,IAAI,CAACK,OAAO,GAAG,IAAIC,gBAAO,CAAC,CAAC;IAC5B,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,WAAAC,aAAA,CAAAN,OAAA,EAAAL,0BAAA;IAAAY,GAAA;IAAAC,KAAA,EAED,SAAAC,WAAA,EAAa;MACT,OAAO,IAAI,CAACN,OAAO;IACvB;EAAC;IAAAI,GAAA;IAAAC,KAAA,EAED,eAAAE,cAAoBC,GAAW,EAAE;MAC7B,IAAI,CAACR,OAAO,CAACS,YAAY,CAACC,sBAAa,CAACC,QAAQ,CAAC;MACjD,IAAI;QACA,IAAMC,IAAI,GAAG,MAAM,IAAI,CAACd,mBAAmB,CAACe,OAAO,CAACL,GAAG,CAAC;QACxD,IAAI,CAACR,OAAO,CAACc,sBAAsB,CAAC,CAAC;QACrC,OAAOF,IAAI;MACf,CAAC,CAAC,OAAOG,GAAG,EAAE;QACV,IAAI,CAACf,OAAO,CAACgB,oBAAoB,CAACD,GAAG,CAACE,OAAO,CAAC;MAClD;MAEA,OAAOC,SAAS;IACpB;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,eAAAV,WAAiBwB,KAAe,EAAE;MAC9B,IAAI,CAACnB,OAAO,CAACS,YAAY,CAACC,sBAAa,CAACU,WAAW,CAAC;MACpD,IAAI;QACA,IAAQC,GAAE,GAAcF,KAAK,CAArBE,EAAE;UAAKC,KAAI,OAAAC,yBAAA,CAAA1B,OAAA,EAAKsB,KAAK,EAAA5B,SAAA;QAC7B,MAAM,IAAI,CAACQ,iBAAiB,CAACc,OAAO,CAACQ,GAAE,EAAEC,KAAI,CAAC;QAC9C,IAAI,CAACtB,OAAO,CAACc,sBAAsB,CAAC,CAAC;MACzC,CAAC,CAAC,OAAOC,GAAG,EAAE;QACV,IAAI,CAACf,OAAO,CAACgB,oBAAoB,CAACD,GAAG,CAACE,OAAO,CAAC;MAClD;IACJ;EAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_Loading","_excluded","EditFileUsingUrlRepository","exports","getFileByUrl","updateFile","_classCallCheck2","default","getFileByUrlGateway","updateFileGateway","loading","Loading","makeAutoObservable","_createClass2","key","value","getLoading","loadFileByUrl","url","startLoading","LOADING_STATE","GET_FILE","file","execute","stopLoadingWithSuccess","err","stopLoadingWithError","message","undefined","input","UPDATE_FILE","id","data","_objectWithoutProperties2"],"sources":["EditFileUsingUrlRepository.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Loading, LOADING_STATE } from \"./Loading\";\n\nexport interface IGetFileByUrl {\n execute(url: string): Promise<FileItem>;\n}\n\nexport interface IUpdateFile {\n execute(id: string, data: Partial<FileItem>): Promise<void>;\n}\n\nexport class EditFileUsingUrlRepository {\n private readonly loading: Loading;\n private getFileByUrlGateway: IGetFileByUrl;\n private updateFileGateway: IUpdateFile;\n\n constructor(getFileByUrl: IGetFileByUrl, updateFile: IUpdateFile) {\n this.getFileByUrlGateway = getFileByUrl;\n this.updateFileGateway = updateFile;\n\n this.loading = new Loading();\n makeAutoObservable(this);\n }\n\n getLoading() {\n return this.loading;\n }\n\n async loadFileByUrl(url: string) {\n this.loading.startLoading(LOADING_STATE.GET_FILE);\n try {\n const file = await this.getFileByUrlGateway.execute(url);\n this.loading.stopLoadingWithSuccess();\n return file;\n } catch (err) {\n this.loading.stopLoadingWithError(err.message);\n }\n\n return undefined;\n }\n\n async updateFile(input: FileItem) {\n this.loading.startLoading(LOADING_STATE.UPDATE_FILE);\n try {\n const { id, ...data } = input;\n await this.updateFileGateway.execute(id, data);\n this.loading.stopLoadingWithSuccess();\n } catch (err) {\n this.loading.stopLoadingWithError(err.message);\n }\n }\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAAmD,IAAAE,SAAA;AAAA,IAUtCC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAKnC,SAAAA,2BAAYE,YAA2B,EAAEC,UAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,0BAAA;IAC9D,IAAI,CAACM,mBAAmB,GAAGJ,YAAY;IACvC,IAAI,CAACK,iBAAiB,GAAGJ,UAAU;IAEnC,IAAI,CAACK,OAAO,GAAG,IAAIC,gBAAO,CAAC,CAAC;IAC5B,IAAAC,wBAAkB,EAAC,IAAI,CAAC;EAC5B;EAAC,WAAAC,aAAA,CAAAN,OAAA,EAAAL,0BAAA;IAAAY,GAAA;IAAAC,KAAA,EAED,SAAAC,UAAUA,CAAA,EAAG;MACT,OAAO,IAAI,CAACN,OAAO;IACvB;EAAC;IAAAI,GAAA;IAAAC,KAAA,EAED,eAAME,aAAaA,CAACC,GAAW,EAAE;MAC7B,IAAI,CAACR,OAAO,CAACS,YAAY,CAACC,sBAAa,CAACC,QAAQ,CAAC;MACjD,IAAI;QACA,IAAMC,IAAI,GAAG,MAAM,IAAI,CAACd,mBAAmB,CAACe,OAAO,CAACL,GAAG,CAAC;QACxD,IAAI,CAACR,OAAO,CAACc,sBAAsB,CAAC,CAAC;QACrC,OAAOF,IAAI;MACf,CAAC,CAAC,OAAOG,GAAG,EAAE;QACV,IAAI,CAACf,OAAO,CAACgB,oBAAoB,CAACD,GAAG,CAACE,OAAO,CAAC;MAClD;MAEA,OAAOC,SAAS;IACpB;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,eAAMV,UAAUA,CAACwB,KAAe,EAAE;MAC9B,IAAI,CAACnB,OAAO,CAACS,YAAY,CAACC,sBAAa,CAACU,WAAW,CAAC;MACpD,IAAI;QACA,IAAQC,GAAE,GAAcF,KAAK,CAArBE,EAAE;UAAKC,KAAI,OAAAC,yBAAA,CAAA1B,OAAA,EAAKsB,KAAK,EAAA5B,SAAA;QAC7B,MAAM,IAAI,CAACQ,iBAAiB,CAACc,OAAO,CAACQ,GAAE,EAAEC,KAAI,CAAC;QAC9C,IAAI,CAACtB,OAAO,CAACc,sBAAsB,CAAC,CAAC;MACzC,CAAC,CAAC,OAAOC,GAAG,EAAE;QACV,IAAI,CAACf,OAAO,CAACgB,oBAAoB,CAACD,GAAG,CAACE,OAAO,CAAC;MAClD;IACJ;EAAC;AAAA","ignoreList":[]}