@webiny/app-file-manager 5.34.8 → 5.35.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 (133) hide show
  1. package/FileManagerFileTypePlugin.d.ts +20 -0
  2. package/FileManagerFileTypePlugin.js +48 -0
  3. package/FileManagerFileTypePlugin.js.map +1 -0
  4. package/app.d.ts +2 -0
  5. package/app.js +16 -0
  6. package/app.js.map +1 -0
  7. package/components/FileDetails/Aliases.d.ts +3 -0
  8. package/components/FileDetails/Aliases.js +228 -0
  9. package/components/FileDetails/Aliases.js.map +1 -0
  10. package/components/FileDetails/DeleteImageAction.d.ts +2 -0
  11. package/components/FileDetails/DeleteImageAction.js +82 -0
  12. package/components/FileDetails/DeleteImageAction.js.map +1 -0
  13. package/components/FileDetails/FileProvider.d.ts +13 -0
  14. package/components/FileDetails/FileProvider.js +29 -0
  15. package/components/FileDetails/FileProvider.js.map +1 -0
  16. package/components/FileDetails/Name.d.ts +3 -0
  17. package/components/FileDetails/Name.js +81 -0
  18. package/components/FileDetails/Name.js.map +1 -0
  19. package/components/FileDetails/Tags.d.ts +3 -0
  20. package/components/FileDetails/Tags.js +176 -0
  21. package/components/FileDetails/Tags.js.map +1 -0
  22. package/components/FileDetails.d.ts +20 -0
  23. package/components/FileDetails.js +243 -0
  24. package/components/FileDetails.js.map +1 -0
  25. package/getFileTypePlugin.d.ts +4 -0
  26. package/getFileTypePlugin.js +51 -0
  27. package/getFileTypePlugin.js.map +1 -0
  28. package/index.d.ts +4 -2
  29. package/index.js +37 -31
  30. package/index.js.map +1 -1
  31. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +37 -0
  32. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +293 -0
  33. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -0
  34. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.d.ts +2 -0
  35. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +15 -0
  36. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -0
  37. package/modules/FileManagerApiProvider/FileManagerApiContext/index.d.ts +2 -0
  38. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +19 -0
  39. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -0
  40. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.d.ts +3 -0
  41. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js +16 -0
  42. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js.map +1 -0
  43. package/modules/FileManagerApiProvider/graphql.d.ts +103 -0
  44. package/modules/FileManagerApiProvider/graphql.js +24 -0
  45. package/modules/FileManagerApiProvider/graphql.js.map +1 -0
  46. package/modules/FileManagerApiProvider/index.d.ts +2 -0
  47. package/modules/FileManagerApiProvider/index.js +22 -0
  48. package/modules/FileManagerApiProvider/index.js.map +1 -0
  49. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.d.ts +6 -0
  50. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js +41 -0
  51. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  52. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.d.ts +6 -0
  53. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js +51 -0
  54. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js.map +1 -0
  55. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.d.ts +5 -0
  56. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js +48 -0
  57. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js.map +1 -0
  58. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.d.ts +11 -0
  59. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js +68 -0
  60. package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js.map +1 -0
  61. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.d.ts +7 -0
  62. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js +32 -0
  63. package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js.map +1 -0
  64. package/modules/FileManagerRenderer/DefaultRenderer/File.d.ts +16 -0
  65. package/modules/FileManagerRenderer/DefaultRenderer/File.js +131 -0
  66. package/modules/FileManagerRenderer/DefaultRenderer/File.js.map +1 -0
  67. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.d.ts +18 -0
  68. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js +443 -0
  69. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js.map +1 -0
  70. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.d.ts +6 -0
  71. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js +96 -0
  72. package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js.map +1 -0
  73. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.d.ts +3 -0
  74. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js +74 -0
  75. package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js.map +1 -0
  76. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.d.ts +3 -0
  77. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js +22 -0
  78. package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js.map +1 -0
  79. package/modules/FileManagerRenderer/DefaultRenderer/index.d.ts +2 -0
  80. package/modules/FileManagerRenderer/DefaultRenderer/index.js +70 -0
  81. package/modules/FileManagerRenderer/DefaultRenderer/index.js.map +1 -0
  82. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.d.ts +2 -0
  83. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js +40 -0
  84. package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js.map +1 -0
  85. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +47 -0
  86. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +448 -0
  87. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -0
  88. package/modules/FileManagerRenderer/FileManagerViewProvider/index.d.ts +2 -0
  89. package/modules/FileManagerRenderer/FileManagerViewProvider/index.js +27 -0
  90. package/modules/FileManagerRenderer/FileManagerViewProvider/index.js.map +1 -0
  91. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.d.ts +63 -0
  92. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js +100 -0
  93. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js.map +1 -0
  94. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.d.ts +3 -0
  95. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js +15 -0
  96. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js.map +1 -0
  97. package/modules/FileManagerRenderer/index.d.ts +2 -0
  98. package/modules/FileManagerRenderer/index.js +13 -0
  99. package/modules/FileManagerRenderer/index.js.map +1 -0
  100. package/modules/FileTypes/fileDefault.d.ts +2 -0
  101. package/modules/FileTypes/fileDefault.js +28 -0
  102. package/modules/FileTypes/fileDefault.js.map +1 -0
  103. package/modules/FileTypes/fileImage/EditAction.d.ts +7 -0
  104. package/modules/FileTypes/fileImage/EditAction.js +123 -0
  105. package/modules/FileTypes/fileImage/EditAction.js.map +1 -0
  106. package/modules/FileTypes/fileImage/index.d.ts +2 -0
  107. package/modules/FileTypes/fileImage/index.js +37 -0
  108. package/modules/FileTypes/fileImage/index.js.map +1 -0
  109. package/modules/FileTypes/icons/edit.svg +17 -0
  110. package/modules/FileTypes/icons/round-description-24px.svg +1 -0
  111. package/modules/FileTypes/index.d.ts +1 -0
  112. package/modules/FileTypes/index.js +32 -0
  113. package/modules/FileTypes/index.js.map +1 -0
  114. package/modules/Settings/assets/icons/folder-open.svg +1 -0
  115. package/modules/Settings/graphql.d.ts +5 -0
  116. package/modules/Settings/graphql.js +17 -0
  117. package/modules/Settings/graphql.js.map +1 -0
  118. package/modules/Settings/index.d.ts +2 -0
  119. package/modules/Settings/index.js +35 -0
  120. package/modules/Settings/index.js.map +1 -0
  121. package/modules/Settings/plugins/installation.d.ts +3 -0
  122. package/modules/Settings/plugins/installation.js +103 -0
  123. package/modules/Settings/plugins/installation.js.map +1 -0
  124. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.d.ts +14 -0
  125. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +217 -0
  126. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -0
  127. package/modules/Settings/plugins/permissionRenderer/index.d.ts +3 -0
  128. package/modules/Settings/plugins/permissionRenderer/index.js +28 -0
  129. package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -0
  130. package/modules/Settings/views/FileManagerSettings.d.ts +2 -0
  131. package/modules/Settings/views/FileManagerSettings.js +132 -0
  132. package/modules/Settings/views/FileManagerSettings.js.map +1 -0
  133. package/package.json +28 -16
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.stateReducer = exports.initializeState = exports.getWhere = exports.ListFilesSort = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var ListFilesSort;
10
+ exports.ListFilesSort = ListFilesSort;
11
+ (function (ListFilesSort) {
12
+ ListFilesSort[ListFilesSort["CREATED_ON_ASC"] = 0] = "CREATED_ON_ASC";
13
+ ListFilesSort[ListFilesSort["CREATED_ON_DESC"] = 1] = "CREATED_ON_DESC";
14
+ ListFilesSort[ListFilesSort["SIZE_ASC"] = 2] = "SIZE_ASC";
15
+ ListFilesSort[ListFilesSort["SIZE_DESC"] = 3] = "SIZE_DESC";
16
+ })(ListFilesSort || (exports.ListFilesSort = ListFilesSort = {}));
17
+ var DEFAULT_SCOPE = "scope:";
18
+ var getWhere = function getWhere(scope) {
19
+ if (!scope) {
20
+ return {
21
+ tag_not_startsWith: DEFAULT_SCOPE
22
+ };
23
+ }
24
+ return {
25
+ tag_startsWith: scope
26
+ };
27
+ };
28
+ exports.getWhere = getWhere;
29
+ var initializeState = function initializeState(_ref) {
30
+ var accept = _ref.accept,
31
+ tags = _ref.tags,
32
+ scope = _ref.scope,
33
+ own = _ref.own,
34
+ identity = _ref.identity;
35
+ return {
36
+ showingFileDetails: null,
37
+ selected: [],
38
+ hasPreviouslyUploadedFiles: null,
39
+ queryParams: {
40
+ scope: scope,
41
+ limit: 50,
42
+ sort: ListFilesSort.CREATED_ON_DESC,
43
+ types: accept !== null && accept !== void 0 && accept.length ? accept : undefined,
44
+ tags: tags !== null && tags !== void 0 && tags.length ? tags : undefined,
45
+ createdBy: own ? identity.id : undefined
46
+ },
47
+ dragging: false,
48
+ uploading: false
49
+ };
50
+ };
51
+ exports.initializeState = initializeState;
52
+ var stateReducer = function stateReducer(state, action) {
53
+ var next = (0, _objectSpread2.default)({}, state);
54
+ switch (action.type) {
55
+ case "toggleSelected":
56
+ {
57
+ var existingIndex = state.selected.findIndex(function (item) {
58
+ return item.src === action.file.src;
59
+ });
60
+ if (existingIndex < 0) {
61
+ next.selected.push(action.file);
62
+ } else {
63
+ next.selected.splice(existingIndex, 1);
64
+ }
65
+ break;
66
+ }
67
+ case "queryParams":
68
+ {
69
+ next.selected = [];
70
+ next.queryParams = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.queryParams), action.queryParams), {}, {
71
+ types: state.queryParams.types,
72
+ limit: 50,
73
+ sort: ListFilesSort.CREATED_ON_DESC
74
+ });
75
+ break;
76
+ }
77
+ case "showFileDetails":
78
+ {
79
+ next.showingFileDetails = action.id;
80
+ break;
81
+ }
82
+ case "dragging":
83
+ {
84
+ next.dragging = action.state;
85
+ break;
86
+ }
87
+ case "hasPreviouslyUploadedFiles":
88
+ {
89
+ next.hasPreviouslyUploadedFiles = action.state;
90
+ break;
91
+ }
92
+ case "uploading":
93
+ {
94
+ next.uploading = action.state;
95
+ break;
96
+ }
97
+ }
98
+ return next;
99
+ };
100
+ exports.stateReducer = stateReducer;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListFilesSort","DEFAULT_SCOPE","getWhere","scope","tag_not_startsWith","tag_startsWith","initializeState","accept","tags","own","identity","showingFileDetails","selected","hasPreviouslyUploadedFiles","queryParams","limit","sort","CREATED_ON_DESC","types","length","undefined","createdBy","id","dragging","uploading","stateReducer","state","action","next","type","existingIndex","findIndex","item","src","file","push","splice"],"sources":["stateReducer.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\n\nexport enum ListFilesSort {\n CREATED_ON_ASC,\n CREATED_ON_DESC,\n SIZE_ASC,\n SIZE_DESC\n}\n\nexport interface StateQueryParams {\n createdBy?: string;\n search?: string;\n types?: string[];\n limit?: number;\n sort?: number;\n tags?: string[];\n scope?: string;\n}\n\nexport interface State {\n showingFileDetails: string | null;\n selected: FileItem[];\n hasPreviouslyUploadedFiles: boolean | null;\n queryParams: StateQueryParams;\n dragging: boolean;\n uploading: boolean;\n}\n\nexport type Action =\n | {\n type: \"toggleSelected\";\n file: FileItem;\n }\n | {\n type: \"queryParams\";\n queryParams: StateQueryParams;\n }\n | {\n type: \"showFileDetails\";\n id: string | null;\n }\n | {\n type: \"dragging\";\n state: boolean;\n }\n | {\n type: \"hasPreviouslyUploadedFiles\";\n state: boolean;\n }\n | {\n type: \"uploading\";\n state: boolean;\n };\n\ninterface Reducer {\n (prev: State, action: Action): State;\n}\n\ninterface InitParams {\n accept?: string[];\n tags?: string[];\n scope?: string;\n own?: boolean;\n identity: any;\n}\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\nexport const initializeState = ({ accept, tags, scope, own, identity }: InitParams): State => {\n return {\n showingFileDetails: null,\n selected: [],\n hasPreviouslyUploadedFiles: null,\n queryParams: {\n scope,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC,\n types: accept?.length ? accept : undefined,\n tags: tags?.length ? tags : undefined,\n createdBy: own ? identity.id : undefined\n },\n dragging: false,\n uploading: false\n };\n};\n\nexport const stateReducer: Reducer = (state: State, action) => {\n const next: State = {\n ...state\n };\n switch (action.type) {\n case \"toggleSelected\": {\n const existingIndex = state.selected.findIndex(item => item.src === action.file.src);\n if (existingIndex < 0) {\n next.selected.push(action.file);\n } else {\n next.selected.splice(existingIndex, 1);\n }\n break;\n }\n case \"queryParams\": {\n next.selected = [];\n next.queryParams = {\n ...state.queryParams,\n ...action.queryParams,\n types: state.queryParams.types,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC\n };\n break;\n }\n case \"showFileDetails\": {\n next.showingFileDetails = action.id;\n break;\n }\n case \"dragging\": {\n next.dragging = action.state;\n break;\n }\n case \"hasPreviouslyUploadedFiles\": {\n next.hasPreviouslyUploadedFiles = action.state;\n break;\n }\n case \"uploading\": {\n next.uploading = action.state;\n break;\n }\n }\n\n return next;\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FileManagerViewContextData } from "./FileManagerViewContext";
2
+ import { FileItem } from "@webiny/app-admin/types";
3
+ export declare function useFileManagerView<TFileItem extends FileItem = FileItem>(): FileManagerViewContextData<TFileItem>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFileManagerView = useFileManagerView;
7
+ var _react = require("react");
8
+ var _FileManagerViewContext = require("./FileManagerViewContext");
9
+ function useFileManagerView() {
10
+ var context = (0, _react.useContext)(_FileManagerViewContext.FileManagerViewContext);
11
+ if (!context) {
12
+ throw new Error("useFileManagerView() must be used within a FileManagerViewProvider");
13
+ }
14
+ return context;
15
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useFileManagerView","context","useContext","FileManagerViewContext","Error"],"sources":["useFileManagerView.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { FileManagerViewContext, FileManagerViewContextData } from \"./FileManagerViewContext\";\nimport { FileItem } from \"@webiny/app-admin/types\";\n\nexport function useFileManagerView<TFileItem extends FileItem = FileItem>() {\n const context = useContext<FileManagerViewContextData<TFileItem>>(\n FileManagerViewContext as unknown as React.Context<FileManagerViewContextData<TFileItem>>\n );\n if (!context) {\n throw new Error(\"useFileManagerView() must be used within a FileManagerViewProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;AAAA;AACA;AAGO,SAASA,kBAAkB,GAA0C;EACxE,IAAMC,OAAO,GAAG,IAAAC,iBAAU,EACtBC,8CAAsB,CACzB;EACD,IAAI,CAACF,OAAO,EAAE;IACV,MAAM,IAAIG,KAAK,CAAC,oEAAoE,CAAC;EACzF;EAEA,OAAOH,OAAO;AAClB"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const FileManagerRendererModule: () => JSX.Element;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.FileManagerRendererModule = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _DefaultRenderer = require("./DefaultRenderer");
10
+ var FileManagerRendererModule = function FileManagerRendererModule() {
11
+ return /*#__PURE__*/_react.default.createElement(_DefaultRenderer.DefaultRenderer, null);
12
+ };
13
+ exports.FileManagerRendererModule = FileManagerRendererModule;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FileManagerRendererModule"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { DefaultRenderer } from \"./DefaultRenderer\";\n\nexport const FileManagerRendererModule = () => {\n return <DefaultRenderer />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyB,GAAS;EAC3C,oBAAO,6BAAC,gCAAe,OAAG;AAC9B,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { FileManagerFileTypePlugin } from "../../FileManagerFileTypePlugin";
2
+ export declare const defaultFileTypePlugin: FileManagerFileTypePlugin;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.defaultFileTypePlugin = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _description = require("@material-design-icons/svg/outlined/description.svg");
10
+ var _emotion = require("emotion");
11
+ var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
12
+ var style = {
13
+ centering: /*#__PURE__*/(0, _emotion.css)({
14
+ display: "flex",
15
+ justifyContent: "center",
16
+ alignItems: "center",
17
+ height: 200
18
+ }, "label:centering;")
19
+ };
20
+ var defaultFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
21
+ types: ["*/*"],
22
+ render: function render() {
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ className: style.centering
25
+ }, /*#__PURE__*/React.createElement(_description.ReactComponent, null));
26
+ }
27
+ });
28
+ exports.defaultFileTypePlugin = defaultFileTypePlugin;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["style","centering","css","display","justifyContent","alignItems","height","defaultFileTypePlugin","FileManagerFileTypePlugin","types","render"],"sources":["fileDefault.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactComponent as FileIcon } from \"@material-design-icons/svg/outlined/description.svg\";\nimport { css } from \"emotion\";\nimport { FileManagerFileTypePlugin } from \"~/FileManagerFileTypePlugin\";\n\nconst style = {\n centering: css({\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: 200\n })\n};\n\nexport const defaultFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"*/*\"],\n render(): React.ReactNode {\n return (\n <div className={style.centering}>\n <FileIcon />\n </div>\n );\n }\n});\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG;EACVC,SAAS,eAAE,IAAAC,YAAG,EAAC;IACXC,OAAO,EAAE,MAAM;IACfC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE;EACZ,CAAC;AACL,CAAC;AAEM,IAAMC,qBAAqB,GAAG,IAAIC,oDAAyB,CAAC;EAC/DC,KAAK,EAAE,CAAC,KAAK,CAAC;EACdC,MAAM,oBAAoB;IACtB,oBACI;MAAK,SAAS,EAAEV,KAAK,CAACC;IAAU,gBAC5B,oBAAC,2BAAQ,OAAG,CACV;EAEd;AACJ,CAAC,CAAC;AAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { FileItem } from "@webiny/app-admin/types";
3
+ interface EditActionProps {
4
+ file: FileItem;
5
+ }
6
+ export declare const EditAction: React.FC<EditActionProps>;
7
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EditAction = void 0;
8
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _reactHotkeyz = require("react-hotkeyz");
14
+ var _dataurlToBlob = _interopRequireDefault(require("dataurl-to-blob"));
15
+ var _ImageUpload = require("@webiny/ui/ImageUpload");
16
+ var _Tooltip = require("@webiny/ui/Tooltip");
17
+ var _Button = require("@webiny/ui/Button");
18
+ var _edit = require("@material-design-icons/svg/outlined/edit.svg");
19
+ var _ = require("../../..");
20
+ // @ts-ignore
21
+
22
+ // @ts-ignore
23
+
24
+ function toDataUrl(url) {
25
+ return new Promise(function (resolve) {
26
+ var xhr = new window.XMLHttpRequest();
27
+ xhr.onload = function () {
28
+ var reader = new window.FileReader();
29
+ reader.onloadend = function () {
30
+ resolve(reader.result);
31
+ };
32
+ reader.readAsDataURL(xhr.response);
33
+ };
34
+ xhr.open("GET", url);
35
+ xhr.responseType = "blob";
36
+ xhr.send();
37
+ });
38
+ }
39
+ var initialState = {
40
+ showImageEditor: false,
41
+ dataUrl: null
42
+ };
43
+ var reducer = function reducer(state, action) {
44
+ var next = (0, _objectSpread2.default)({}, state);
45
+ switch (action.type) {
46
+ case "setDataUrl":
47
+ next.dataUrl = action.dataUrl;
48
+ next.showImageEditor = true;
49
+ break;
50
+ case "hideImageEditor":
51
+ next.dataUrl = null;
52
+ next.showImageEditor = false;
53
+ break;
54
+ }
55
+ return next;
56
+ };
57
+ var EditAction = function EditAction(props) {
58
+ var file = props.file;
59
+ var _useFileManagerApi = (0, _.useFileManagerApi)(),
60
+ canEdit = _useFileManagerApi.canEdit;
61
+ var _useFileManagerView = (0, _.useFileManagerView)(),
62
+ uploadFile = _useFileManagerView.uploadFile;
63
+ var _React$useReducer = _react.default.useReducer(reducer, initialState),
64
+ _React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
65
+ state = _React$useReducer2[0],
66
+ dispatch = _React$useReducer2[1];
67
+ // Render nothing if the user don't have required permission for "edit".
68
+ if (!canEdit(file)) {
69
+ return null;
70
+ }
71
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
72
+ content: /*#__PURE__*/_react.default.createElement("span", null, "Edit image"),
73
+ placement: "bottom"
74
+ }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
75
+ "data-testid": "fm-edit-image-button",
76
+ icon: /*#__PURE__*/_react.default.createElement(_edit.ReactComponent, {
77
+ style: {
78
+ margin: "0 8px 0 0"
79
+ }
80
+ }),
81
+ onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
82
+ var dataUrl;
83
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
84
+ while (1) switch (_context.prev = _context.next) {
85
+ case 0:
86
+ _context.next = 2;
87
+ return toDataUrl(file.src);
88
+ case 2:
89
+ dataUrl = _context.sent;
90
+ dispatch({
91
+ type: "setDataUrl",
92
+ dataUrl: dataUrl
93
+ });
94
+ case 4:
95
+ case "end":
96
+ return _context.stop();
97
+ }
98
+ }, _callee);
99
+ }))
100
+ })), /*#__PURE__*/_react.default.createElement(_reactHotkeyz.Hotkeys, {
101
+ zIndex: 60,
102
+ disabled: !state.dataUrl
103
+ }, /*#__PURE__*/_react.default.createElement(_ImageUpload.ImageEditorDialog, {
104
+ "data-testid": "fm-image-editor-dialog",
105
+ dialogZIndex: 100,
106
+ open: state.showImageEditor,
107
+ src: state.dataUrl,
108
+ onClose: function onClose() {
109
+ return dispatch({
110
+ type: "hideImageEditor"
111
+ });
112
+ },
113
+ onAccept: function onAccept(src) {
114
+ var blob = (0, _dataurlToBlob.default)(src);
115
+ blob.name = file.name;
116
+ uploadFile(blob);
117
+ dispatch({
118
+ type: "hideImageEditor"
119
+ });
120
+ }
121
+ })));
122
+ };
123
+ exports.EditAction = EditAction;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","type","EditAction","props","file","useFileManagerApi","canEdit","useFileManagerView","uploadFile","React","useReducer","dispatch","margin","src","blob","dataURLtoBlob","name"],"sources":["EditAction.tsx"],"sourcesContent":["import React from \"react\";\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as EditIcon } from \"@material-design-icons/svg/outlined/edit.svg\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useFileManagerApi, useFileManagerView } from \"~/index\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\n\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\n\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\n\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\n\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n}\n\nexport const EditAction: React.FC<EditActionProps> = props => {\n const { file } = props;\n const { canEdit } = useFileManagerApi();\n const { uploadFile } = useFileManagerView();\n const [state, dispatch] = React.useReducer(reducer, initialState);\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n blob.name = file.name;\n uploadFile(blob);\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AATA;;AAEA;;AASA,SAASA,SAAS,CAACC,GAAW,EAAmB;EAC7C,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAgC,EAAK;IACrD,IAAMC,GAAG,GAAG,IAAIC,MAAM,CAACC,cAAc,EAAE;IACvCF,GAAG,CAACG,MAAM,GAAG,YAAY;MACrB,IAAMC,MAAM,GAAG,IAAIH,MAAM,CAACI,UAAU,EAAE;MACtCD,MAAM,CAACE,SAAS,GAAG,YAAY;QAC3BP,OAAO,CAACK,MAAM,CAACG,MAAM,CAAW;MACpC,CAAC;MACDH,MAAM,CAACI,aAAa,CAACR,GAAG,CAACS,QAAQ,CAAC;IACtC,CAAC;IACDT,GAAG,CAACU,IAAI,CAAC,KAAK,EAAEb,GAAG,CAAC;IACpBG,GAAG,CAACW,YAAY,GAAG,MAAM;IACzBX,GAAG,CAACY,IAAI,EAAE;EACd,CAAC,CAAC;AACN;AAYA,IAAMC,YAAmB,GAAG;EACxBC,eAAe,EAAE,KAAK;EACtBC,OAAO,EAAE;AACb,CAAC;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAO,CAAIC,KAAY,EAAEC,MAAc,EAAY;EACrD,IAAMC,IAAW,mCAAQF,KAAK,CAAE;EAEhC,QAAQC,MAAM,CAACE,IAAI;IACf,KAAK,YAAY;MACbD,IAAI,CAACJ,OAAO,GAAGG,MAAM,CAACH,OAAiB;MACvCI,IAAI,CAACL,eAAe,GAAG,IAAI;MAC3B;IACJ,KAAK,iBAAiB;MAClBK,IAAI,CAACJ,OAAO,GAAG,IAAI;MACnBI,IAAI,CAACL,eAAe,GAAG,KAAK;MAC5B;EAAM;EAGd,OAAOK,IAAI;AACf,CAAC;AAMM,IAAME,UAAqC,GAAG,SAAxCA,UAAqC,CAAGC,KAAK,EAAI;EAC1D,IAAQC,IAAI,GAAKD,KAAK,CAAdC,IAAI;EACZ,yBAAoB,IAAAC,mBAAiB,GAAE;IAA/BC,OAAO,sBAAPA,OAAO;EACf,0BAAuB,IAAAC,oBAAkB,GAAE;IAAnCC,UAAU,uBAAVA,UAAU;EAClB,wBAA0BC,cAAK,CAACC,UAAU,CAACb,OAAO,EAAEH,YAAY,CAAC;IAAA;IAA1DI,KAAK;IAAEa,QAAQ;EACtB;EACA,IAAI,CAACL,OAAO,CAACF,IAAI,CAAC,EAAE;IAChB,OAAO,IAAI;EACf;EAEA,oBACI,yEACI,6BAAC,gBAAO;IAAC,OAAO,eAAE,2CAAM,YAAU,CAAQ;IAAC,SAAS,EAAE;EAAS,gBAC3D,6BAAC,kBAAU;IACP,eAAa,sBAAuB;IACpC,IAAI,eAAE,6BAAC,oBAAQ;MAAC,KAAK,EAAE;QAAEQ,MAAM,EAAE;MAAY;IAAE,EAAI;IACnD,OAAO,sGAAE;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACiBnC,SAAS,CAAC2B,IAAI,CAACS,GAAG,CAAC;UAAA;YAAnCjB,OAAO;YACbe,QAAQ,CAAC;cAAEV,IAAI,EAAE,YAAY;cAAEL,OAAO,EAAPA;YAAQ,CAAC,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CAC7C;EAAC,EACJ,CACI,eACV,6BAAC,qBAAO;IAAC,MAAM,EAAE,EAAG;IAAC,QAAQ,EAAE,CAACE,KAAK,CAACF;EAAQ,gBAC1C,6BAAC,8BAAiB;IACd,eAAa,wBAAyB;IACtC,YAAY,EAAE,GAAI;IAClB,IAAI,EAAEE,KAAK,CAACH,eAAgB;IAC5B,GAAG,EAAEG,KAAK,CAACF,OAAkB;IAC7B,OAAO,EAAE;MAAA,OAAMe,QAAQ,CAAC;QAAEV,IAAI,EAAE;MAAkB,CAAC,CAAC;IAAA,CAAC;IACrD,QAAQ,EAAE,kBAAAY,GAAG,EAAI;MACb,IAAMC,IAAI,GAAG,IAAAC,sBAAa,EAACF,GAAG,CAAC;MAC/BC,IAAI,CAACE,IAAI,GAAGZ,IAAI,CAACY,IAAI;MACrBR,UAAU,CAACM,IAAI,CAAC;MAChBH,QAAQ,CAAC;QAAEV,IAAI,EAAE;MAAkB,CAAC,CAAC;IACzC;EAAE,EACJ,CACI,CACX;AAEX,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { FileManagerFileTypePlugin } from "../../../FileManagerFileTypePlugin";
2
+ export declare const imageFileTypePlugin: FileManagerFileTypePlugin;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.imageFileTypePlugin = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _emotion = require("emotion");
10
+ var _components = require("@webiny/app/components");
11
+ var _EditAction = require("./EditAction");
12
+ var _FileManagerFileTypePlugin = require("../../../FileManagerFileTypePlugin");
13
+ var styles = /*#__PURE__*/(0, _emotion.css)({
14
+ maxHeight: 200,
15
+ maxWidth: 200,
16
+ width: "auto",
17
+ position: "absolute",
18
+ top: "50%",
19
+ left: "50%",
20
+ transform: "translateX(-50%) translateY(-50%)"
21
+ }, "label:styles;");
22
+ var imageFileTypePlugin = new _FileManagerFileTypePlugin.FileManagerFileTypePlugin({
23
+ types: ["image/*"],
24
+ actions: [_EditAction.EditAction],
25
+ render: function render(_ref) {
26
+ var file = _ref.file;
27
+ return /*#__PURE__*/React.createElement(_components.Image, {
28
+ className: styles,
29
+ src: file.src,
30
+ alt: file.name,
31
+ transform: {
32
+ width: 300
33
+ }
34
+ });
35
+ }
36
+ });
37
+ exports.imageFileTypePlugin = imageFileTypePlugin;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["styles","css","maxHeight","maxWidth","width","position","top","left","transform","imageFileTypePlugin","FileManagerFileTypePlugin","types","actions","EditAction","render","file","src","name"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { css } from \"emotion\";\nimport { Image } from \"@webiny/app/components\";\nimport { EditAction } from \"./EditAction\";\nimport { FileManagerFileTypePlugin } from \"~/FileManagerFileTypePlugin\";\n\nconst styles = css({\n maxHeight: 200,\n maxWidth: 200,\n width: \"auto\",\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n});\n\nexport const imageFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"image/*\"],\n actions: [EditAction],\n render({ file }) {\n return (\n <Image className={styles} src={file.src} alt={file.name} transform={{ width: 300 }} />\n );\n }\n});\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA,IAAMA,MAAM,gBAAG,IAAAC,YAAG,EAAC;EACfC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACf,CAAC,kBAAC;AAEK,IAAMC,mBAAmB,GAAG,IAAIC,oDAAyB,CAAC;EAC7DC,KAAK,EAAE,CAAC,SAAS,CAAC;EAClBC,OAAO,EAAE,CAACC,sBAAU,CAAC;EACrBC,MAAM,wBAAW;IAAA,IAARC,IAAI,QAAJA,IAAI;IACT,oBACI,oBAAC,iBAAK;MAAC,SAAS,EAAEf,MAAO;MAAC,GAAG,EAAEe,IAAI,CAACC,GAAI;MAAC,GAAG,EAAED,IAAI,CAACE,IAAK;MAAC,SAAS,EAAE;QAAEb,KAAK,EAAE;MAAI;IAAE,EAAG;EAE9F;AACJ,CAAC,CAAC;AAAC"}
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
4
+ height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
5
+ <g id="Bounding_Boxes">
6
+ <g id="ui_x5F_spec_x5F_header_copy_3">
7
+ </g>
8
+ <path fill="none" d="M0,0h24v24H0V0z"/>
9
+ </g>
10
+ <g id="Rounded">
11
+ <g id="ui_x5F_spec_x5F_header_copy_7">
12
+ </g>
13
+ <path d="M3,17.46v3.04C3,20.78,3.22,21,3.5,21h3.04c0.13,0,0.26-0.05,0.35-0.15L17.81,9.94l-3.75-3.75L3.15,17.1
14
+ C3.05,17.2,3,17.32,3,17.46z M20.71,7.04c0.39-0.39,0.39-1.02,0-1.41l-2.34-2.34c-0.39-0.39-1.02-0.39-1.41,0l-1.83,1.83l3.75,3.75
15
+ L20.71,7.04z"/>
16
+ </g>
17
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M14.59 2.59c-.38-.38-.89-.59-1.42-.59H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.41l-4.82-4.83zM15 18H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm0-4H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm-2-6V3.5L18.5 9H14c-.55 0-1-.45-1-1z"/></svg>
@@ -0,0 +1 @@
1
+ export declare const FileTypesModule: () => null;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.FileTypesModule = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _plugins = require("@webiny/plugins");
10
+ var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
11
+ var _fileDefault = require("./fileDefault");
12
+ var _fileImage = require("./fileImage");
13
+ function registerFileTypePlugins() {
14
+ // This is an ugly hack, which we will replace when we implement file thumbnail rendering via the Composition API.
15
+ var fileTypePlugins = _plugins.plugins.byType(_FileManagerFileTypePlugin.FileManagerFileTypePlugin.type);
16
+
17
+ // First we need to unregister already registered plugins.
18
+ fileTypePlugins.forEach(function (pl) {
19
+ return _plugins.plugins.unregister(pl.name);
20
+ });
21
+
22
+ // Then, we need to register the default plugins first, then register user's plugins again, to generate new names.
23
+ _plugins.plugins.register([_fileDefault.defaultFileTypePlugin, _fileImage.imageFileTypePlugin].concat((0, _toConsumableArray2.default)(fileTypePlugins.map(function (pl) {
24
+ pl.name = undefined;
25
+ return pl;
26
+ }))));
27
+ }
28
+ var FileTypesModule = function FileTypesModule() {
29
+ registerFileTypePlugins();
30
+ return null;
31
+ };
32
+ exports.FileTypesModule = FileTypesModule;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerFileTypePlugins","fileTypePlugins","plugins","byType","FileManagerFileTypePlugin","type","forEach","pl","unregister","name","register","defaultFileTypePlugin","imageFileTypePlugin","map","undefined","FileTypesModule"],"sources":["index.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileManagerFileTypePlugin } from \"~/FileManagerFileTypePlugin\";\nimport { defaultFileTypePlugin } from \"./fileDefault\";\nimport { imageFileTypePlugin } from \"./fileImage\";\n\nfunction registerFileTypePlugins() {\n // This is an ugly hack, which we will replace when we implement file thumbnail rendering via the Composition API.\n const fileTypePlugins = plugins.byType(FileManagerFileTypePlugin.type);\n\n // First we need to unregister already registered plugins.\n fileTypePlugins.forEach(pl => plugins.unregister(pl.name as string));\n\n // Then, we need to register the default plugins first, then register user's plugins again, to generate new names.\n plugins.register([\n defaultFileTypePlugin,\n imageFileTypePlugin,\n ...fileTypePlugins.map(pl => {\n pl.name = undefined;\n return pl;\n })\n ]);\n}\n\nexport const FileTypesModule = () => {\n registerFileTypePlugins();\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,SAASA,uBAAuB,GAAG;EAC/B;EACA,IAAMC,eAAe,GAAGC,gBAAO,CAACC,MAAM,CAACC,oDAAyB,CAACC,IAAI,CAAC;;EAEtE;EACAJ,eAAe,CAACK,OAAO,CAAC,UAAAC,EAAE;IAAA,OAAIL,gBAAO,CAACM,UAAU,CAACD,EAAE,CAACE,IAAI,CAAW;EAAA,EAAC;;EAEpE;EACAP,gBAAO,CAACQ,QAAQ,EACZC,kCAAqB,EACrBC,8BAAmB,0CAChBX,eAAe,CAACY,GAAG,CAAC,UAAAN,EAAE,EAAI;IACzBA,EAAE,CAACE,IAAI,GAAGK,SAAS;IACnB,OAAOP,EAAE;EACb,CAAC,CAAC,GACJ;AACN;AAEO,IAAMQ,eAAe,GAAG,SAAlBA,eAAe,GAAS;EACjCf,uBAAuB,EAAE;EAEzB,OAAO,IAAI;AACf,CAAC;AAAC"}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20 6h-8l-1.41-1.41C10.21 4.21 9.7 4 9.17 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-1 12H5c-.55 0-1-.45-1-1V9c0-.55.45-1 1-1h14c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1z"/></svg>
@@ -0,0 +1,5 @@
1
+ declare const graphql: {
2
+ GET_SETTINGS: import("graphql").DocumentNode;
3
+ UPDATE_SETTINGS: import("graphql").DocumentNode;
4
+ };
5
+ export default graphql;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
+ var _templateObject, _templateObject2;
11
+ var fields = /* GraphQL */"\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n srcPrefix\n }\n }\n";
12
+ var graphql = {
13
+ GET_SETTINGS: (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query GetFileManagerSettings {\n fileManager {\n getSettings", "\n }\n }\n "])), fields),
14
+ UPDATE_SETTINGS: (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation UpdateFileManagerSettings($data: FileManagerSettingsInput) {\n fileManager {\n updateSettings(data: $data) ", "\n }\n }\n "])), fields)
15
+ };
16
+ var _default = graphql;
17
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fields","graphql","GET_SETTINGS","gql","UPDATE_SETTINGS"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst fields = /* GraphQL */ `\n {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n srcPrefix\n }\n }\n`;\n\nconst graphql = {\n GET_SETTINGS: gql`\n query GetFileManagerSettings {\n fileManager {\n getSettings${fields}\n }\n }\n `,\n UPDATE_SETTINGS: gql`\n mutation UpdateFileManagerSettings($data: FileManagerSettingsInput) {\n fileManager {\n updateSettings(data: $data) ${fields}\n }\n }\n `\n};\n\nexport default graphql;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAE9B,IAAMA,MAAM,GAAG,+IAQd;AAED,IAAMC,OAAO,GAAG;EACZC,YAAY,MAAEC,mBAAG,iPAGYH,MAAM,CAG9B;EACLI,eAAe,MAAED,mBAAG,mRAGsBH,MAAM;AAIpD,CAAC;AAAC,eAEaC,OAAO;AAAA"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const SettingsModule: React.FC;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SettingsModule = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _plugins = require("@webiny/plugins");
10
+ var _app = require("@webiny/app");
11
+ var _appSecurity = require("@webiny/app-security");
12
+ var _appAdmin = require("@webiny/app-admin");
13
+ var _installation = _interopRequireDefault(require("./plugins/installation"));
14
+ var _permissionRenderer = _interopRequireDefault(require("./plugins/permissionRenderer"));
15
+ var _FileManagerSettings = require("./views/FileManagerSettings");
16
+ var SettingsModule = function SettingsModule() {
17
+ _plugins.plugins.register(_installation.default, _permissionRenderer.default);
18
+ return /*#__PURE__*/_react.default.createElement(_app.Plugin, null, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
19
+ name: "fm.settings"
20
+ }, /*#__PURE__*/_react.default.createElement(_app.AddRoute, {
21
+ path: "/settings/file-manager/general"
22
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
23
+ title: "File Manager - General Settings"
24
+ }, /*#__PURE__*/_react.default.createElement(_FileManagerSettings.FileManagerSettings, null))), /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
25
+ name: "settings"
26
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
27
+ name: "settings.fileManager",
28
+ label: "File Manager"
29
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
30
+ name: "settings.fileManager.general",
31
+ label: "General",
32
+ path: "/settings/file-manager/general"
33
+ })))));
34
+ };
35
+ exports.SettingsModule = SettingsModule;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SettingsModule","plugins","register","installation","permissionRenderer"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AddRoute, Plugin } from \"@webiny/app\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { AddMenu, Layout } from \"@webiny/app-admin\";\nimport installation from \"./plugins/installation\";\nimport permissionRenderer from \"./plugins/permissionRenderer\";\nimport { FileManagerSettings } from \"./views/FileManagerSettings\";\n\nexport const SettingsModule: React.FC = () => {\n plugins.register(installation, permissionRenderer);\n\n return (\n <Plugin>\n <HasPermission name={\"fm.settings\"}>\n <AddRoute path=\"/settings/file-manager/general\">\n <Layout title={\"File Manager - General Settings\"}>\n <FileManagerSettings />\n </Layout>\n </AddRoute>\n <AddMenu name={\"settings\"}>\n <AddMenu name={\"settings.fileManager\"} label={\"File Manager\"}>\n <AddMenu\n name={\"settings.fileManager.general\"}\n label={\"General\"}\n path={\"/settings/file-manager/general\"}\n />\n </AddMenu>\n </AddMenu>\n </HasPermission>\n </Plugin>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,IAAMA,cAAwB,GAAG,SAA3BA,cAAwB,GAAS;EAC1CC,gBAAO,CAACC,QAAQ,CAACC,qBAAY,EAAEC,2BAAkB,CAAC;EAElD,oBACI,6BAAC,WAAM,qBACH,6BAAC,0BAAa;IAAC,IAAI,EAAE;EAAc,gBAC/B,6BAAC,aAAQ;IAAC,IAAI,EAAC;EAAgC,gBAC3C,6BAAC,gBAAM;IAAC,KAAK,EAAE;EAAkC,gBAC7C,6BAAC,wCAAmB,OAAG,CAClB,CACF,eACX,6BAAC,iBAAO;IAAC,IAAI,EAAE;EAAW,gBACtB,6BAAC,iBAAO;IAAC,IAAI,EAAE,sBAAuB;IAAC,KAAK,EAAE;EAAe,gBACzD,6BAAC,iBAAO;IACJ,IAAI,EAAE,8BAA+B;IACrC,KAAK,EAAE,SAAU;IACjB,IAAI,EAAE;EAAiC,EACzC,CACI,CACJ,CACE,CACX;AAEjB,CAAC;AAAC"}
@@ -0,0 +1,3 @@
1
+ import { AdminInstallationPlugin } from "@webiny/app-admin/types";
2
+ declare const plugin: AdminInstallationPlugin;
3
+ export default plugin;