@bindu-dashing/dam-solution 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +1 -0
  2. package/dist/AssetType/assetTypeContainer.js +40 -0
  3. package/dist/AssetType/assetTypeTable.js +359 -0
  4. package/dist/AssetType/createAssetType.js +832 -0
  5. package/dist/AssetType/index.js +26 -0
  6. package/dist/AssetType/style.css +110 -0
  7. package/dist/Components/ImagePickerFiltersTest.js +121 -0
  8. package/dist/Components/ImagePickerTest.js +120 -0
  9. package/dist/CreateClient/createClient.js +34 -0
  10. package/dist/CreateClient/createClientForm.js +269 -0
  11. package/dist/CreateClient/index.js +26 -0
  12. package/dist/Folder/ImagePickerFolder.js +47 -0
  13. package/dist/Folder/index.js +26 -0
  14. package/dist/Folder/style.css +0 -0
  15. package/dist/Folders/bulkDownload.js +102 -0
  16. package/dist/Folders/bulkUpdate.js +186 -0
  17. package/dist/Folders/bulkUploadFiles.js +162 -0
  18. package/dist/Folders/bulkUploadUsingQueue.js +404 -0
  19. package/dist/Folders/createOrUpdateFolder.js +264 -0
  20. package/dist/Folders/exportFolder.js +109 -0
  21. package/dist/Folders/file.js +194 -0
  22. package/dist/Folders/fileManagementContainer.js +345 -0
  23. package/dist/Folders/files.js +315 -0
  24. package/dist/Folders/filesContainer.js +650 -0
  25. package/dist/Folders/filesListView.js +439 -0
  26. package/dist/Folders/foldersContainer.js +408 -0
  27. package/dist/Folders/foldersTree.js +136 -0
  28. package/dist/Folders/index.js +26 -0
  29. package/dist/Folders/style.css +400 -0
  30. package/dist/Folders/uploadFile.js +507 -0
  31. package/dist/ImagePicker/imagePicker.js +141 -0
  32. package/dist/ImagePicker/imagePickerFiles.js +42 -0
  33. package/dist/ImagePicker/index.js +26 -0
  34. package/dist/ImagePicker/style.css +128 -0
  35. package/dist/ImagePickerFilters/imagePickerFilters.js +382 -0
  36. package/dist/ImagePickerFilters/index.js +26 -0
  37. package/dist/ImagePickerFilters/style.css +15 -0
  38. package/dist/RefreshKey/index.js +26 -0
  39. package/dist/RefreshKey/refreshKey.js +86 -0
  40. package/dist/assets/images/default-img.svg +9 -0
  41. package/dist/constants/actionTypes.js +74 -0
  42. package/dist/constants/apiEndpoints.js +88 -0
  43. package/dist/constants/appConstants.js +55 -0
  44. package/dist/hocs/folderHelpers.js +76 -0
  45. package/dist/hocs/helpers.js +52 -0
  46. package/dist/hocs/useFetch.js +97 -0
  47. package/dist/index.js +55 -0
  48. package/package.json +61 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _antd = require("antd");
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _useFetch = _interopRequireDefault(require("../hocs/useFetch"));
12
+ var APIS = _interopRequireWildcard(require("../constants/apiEndpoints"));
13
+ const ExportFolder = _ref => {
14
+ let {
15
+ setShowExportAFolder,
16
+ damAccessKey,
17
+ secretKey,
18
+ subdomain,
19
+ accessToken,
20
+ folderId
21
+ } = _ref;
22
+ const [assetTypes, setAssetTypes] = (0, _react.useState)([]);
23
+ const {
24
+ fetchApi
25
+ } = (0, _useFetch.default)();
26
+ const [assetTypeId, setAssetTypeId] = (0, _react.useState)(null);
27
+ const [loading, setLoading] = (0, _react.useState)(false);
28
+ const [error, setError] = (0, _react.useState)("");
29
+ (0, _react.useEffect)(() => {
30
+ fetchApi({
31
+ httpMethod: "get",
32
+ route: APIS.FETCH_ASSET_TYPES,
33
+ params: {
34
+ fetchAll: true
35
+ },
36
+ onSuccess: response => {
37
+ const data = response === null || response === void 0 ? void 0 : response.data;
38
+ setAssetTypes(data === null || data === void 0 ? void 0 : data.items);
39
+ },
40
+ damAccessKey,
41
+ secretKey,
42
+ subdomain,
43
+ accessToken
44
+ });
45
+ }, []);
46
+ const assetTypeOptions = assetTypes === null || assetTypes === void 0 ? void 0 : assetTypes.map(type => {
47
+ return {
48
+ label: type === null || type === void 0 ? void 0 : type.name,
49
+ value: type === null || type === void 0 ? void 0 : type.id
50
+ };
51
+ });
52
+ const handleOk = () => {
53
+ if (assetTypeId) {
54
+ setLoading(true);
55
+ fetchApi({
56
+ httpMethod: "post",
57
+ route: APIS.EXPORT_FOLDER_METADATA,
58
+ body: {
59
+ folder_id: folderId,
60
+ asset_type_id: assetTypeId
61
+ },
62
+ onSuccess: response => {
63
+ const data = response === null || response === void 0 ? void 0 : response.data;
64
+ const url = data.url;
65
+ const link = document.createElement("a");
66
+ link.href = url;
67
+ link.setAttribute("download", "file.csv");
68
+ document.body.appendChild(link);
69
+ link.click();
70
+ setLoading(false);
71
+ setShowExportAFolder(false);
72
+ },
73
+ damAccessKey,
74
+ secretKey,
75
+ subdomain,
76
+ accessToken
77
+ });
78
+ } else {
79
+ setError("Asset Type is required");
80
+ }
81
+ };
82
+ return /*#__PURE__*/_react.default.createElement(_antd.Modal, {
83
+ open: true,
84
+ title: "Export Folder",
85
+ onCancel: () => setShowExportAFolder(false),
86
+ onOk: handleOk,
87
+ okButtonProps: {
88
+ loading: loading
89
+ }
90
+ }, /*#__PURE__*/_react.default.createElement(_antd.Select, {
91
+ options: assetTypeOptions,
92
+ placeholder: "Select Asset Type",
93
+ onChange: e => {
94
+ setAssetTypeId(e);
95
+ setError("");
96
+ },
97
+ style: {
98
+ width: "100%"
99
+ },
100
+ optionFilterProp: "label",
101
+ showSearch: true
102
+ }), error && /*#__PURE__*/_react.default.createElement(_antd.Typography.Text, {
103
+ style: {
104
+ color: "red"
105
+ }
106
+ }, error));
107
+ };
108
+ var _default = ExportFolder;
109
+ exports.default = _default;
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _lodash = require("lodash");
10
+ require("./style.css");
11
+ var _antd = require("antd");
12
+ var _icons = require("@ant-design/icons");
13
+ var _uploadFile = _interopRequireDefault(require("./uploadFile"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _useFetch = _interopRequireDefault(require("../hocs/useFetch"));
16
+ var APIS = _interopRequireWildcard(require("../constants/apiEndpoints"));
17
+ var _helpers = require("../hocs/helpers");
18
+ var _defaultImg = _interopRequireDefault(require("../assets/images/default-img.svg"));
19
+ const File = _ref => {
20
+ let {
21
+ item,
22
+ isImagePicker,
23
+ onSelect,
24
+ fetchFiles,
25
+ setFiles,
26
+ folder,
27
+ isAdmin,
28
+ damAccessKey,
29
+ secretKey,
30
+ subdomain,
31
+ styles,
32
+ assetTypes,
33
+ teams,
34
+ accessToken,
35
+ currentUser,
36
+ setSelectedFiles,
37
+ selectedFiles
38
+ } = _ref;
39
+ const [showEdit, setShowEdit] = (0, _react.useState)(false);
40
+ const [loading, setLoading] = (0, _react.useState)(false);
41
+ const {
42
+ fetchApi
43
+ } = (0, _useFetch.default)();
44
+ const showConfirm = () => {
45
+ _antd.Modal.confirm({
46
+ title: "Do you want to delete this file?",
47
+ icon: /*#__PURE__*/_react.default.createElement(_icons.ExclamationCircleFilled, null),
48
+ onOk() {
49
+ onDelete();
50
+ },
51
+ okText: "Delete",
52
+ okType: "danger",
53
+ okButtonProps: {
54
+ icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null)
55
+ }
56
+ });
57
+ };
58
+ const onDelete = () => {
59
+ fetchApi({
60
+ params: {
61
+ folder_id: folder === null || folder === void 0 ? void 0 : folder.id
62
+ },
63
+ httpMethod: "delete",
64
+ route: APIS.DELETE_FILE.replace(":id", item === null || item === void 0 ? void 0 : item.id),
65
+ onSuccess: () => {
66
+ setLoading(false);
67
+ _antd.notification.success({
68
+ message: "File deleted successfully"
69
+ });
70
+ fetchFiles(null, folder === null || folder === void 0 ? void 0 : folder.id);
71
+ },
72
+ onFailure: () => {
73
+ setLoading(false);
74
+ _antd.notification.success({
75
+ message: "Error while deleting file"
76
+ });
77
+ },
78
+ accessToken,
79
+ damAccessKey,
80
+ secretKey,
81
+ subdomain
82
+ });
83
+ };
84
+ const onOpen = () => {
85
+ window.open(item === null || item === void 0 ? void 0 : item.file_url, "_blank");
86
+ };
87
+ const onDownload = () => {
88
+ window.open(item === null || item === void 0 ? void 0 : item.file_url, "_blank");
89
+ };
90
+ const assetType = assetTypes === null || assetTypes === void 0 ? void 0 : assetTypes.find(type => (type === null || type === void 0 ? void 0 : type.id) === (item === null || item === void 0 ? void 0 : item.asset_type_id));
91
+ const items = [{
92
+ label: "Open",
93
+ icon: /*#__PURE__*/_react.default.createElement(_icons.EyeOutlined, null),
94
+ onClick: () => onOpen()
95
+ }, {
96
+ label: "Download",
97
+ icon: /*#__PURE__*/_react.default.createElement(_icons.DownloadOutlined, null),
98
+ onClick: () => onDownload()
99
+ }];
100
+ if (isAdmin) {
101
+ items === null || items === void 0 ? void 0 : items.push({
102
+ label: "Edit",
103
+ icon: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null),
104
+ onClick: () => setShowEdit(true)
105
+ });
106
+ items === null || items === void 0 ? void 0 : items.push({
107
+ label: "Delete",
108
+ icon: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null),
109
+ onClick: () => showConfirm()
110
+ });
111
+ }
112
+ return /*#__PURE__*/_react.default.createElement("div", {
113
+ className: "file-container"
114
+ }, loading ? /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "dam-loading"
116
+ }, /*#__PURE__*/_react.default.createElement(_antd.Spin, null)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
117
+ className: "file-selection"
118
+ }, ((item === null || item === void 0 ? void 0 : item.file_upload_status) == "success" || (item === null || item === void 0 ? void 0 : item.thumbnail_url)) && /*#__PURE__*/_react.default.createElement(_antd.Image
119
+ // width={"100%"}
120
+ , {
121
+ src: (0, _lodash.get)(item, "thumbnail_url"),
122
+ fallback: _defaultImg.default,
123
+ preview: false
124
+ }), (item === null || item === void 0 ? void 0 : item.file_upload_status) == "failure" && /*#__PURE__*/_react.default.createElement(_antd.Image, {
125
+ width: "100%",
126
+ src: _defaultImg.default,
127
+ fallback: _defaultImg.default,
128
+ preview: false
129
+ }), (item === null || item === void 0 ? void 0 : item.file_upload_status) == "pending" && /*#__PURE__*/_react.default.createElement(_antd.Spin, {
130
+ width: "100%",
131
+ className: "img-loading"
132
+ }), isImagePicker ? /*#__PURE__*/_react.default.createElement(_antd.Button, {
133
+ type: "primary",
134
+ className: "select-text",
135
+ onClick: () => {
136
+ const value = (0, _helpers.getFormattedValue)(assetType === null || assetType === void 0 ? void 0 : assetType.output_format, item === null || item === void 0 ? void 0 : item.file_url, item);
137
+ // console.log(value);
138
+ onSelect(item === null || item === void 0 ? void 0 : item.thumbnail_url, value);
139
+ },
140
+ style: {
141
+ backgroundColor: styles === null || styles === void 0 ? void 0 : styles.primaryColor
142
+ }
143
+ }, "Select") : /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
144
+ checked: (0, _lodash.includes)(selectedFiles, item.id),
145
+ className: `${(0, _lodash.includes)(selectedFiles, item.id) ? "dam-file-checkbox-selected" : "dam-file-checkbox"}`,
146
+ onChange: e => {
147
+ if (e.target.checked) {
148
+ setSelectedFiles(prevSelectedFiles => {
149
+ return [...prevSelectedFiles, item.id];
150
+ });
151
+ } else {
152
+ setSelectedFiles(prevSelectedFiles => {
153
+ return prevSelectedFiles.filter(id => id !== item.id);
154
+ });
155
+ }
156
+ }
157
+ })), /*#__PURE__*/_react.default.createElement("div", {
158
+ className: "description"
159
+ }, /*#__PURE__*/_react.default.createElement(_antd.Typography.Text, {
160
+ ellipsis: {
161
+ tooltip: true
162
+ }
163
+ }, (0, _lodash.get)(item, "name")), isImagePicker && /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
164
+ onChange: e => {
165
+ if (e.target.checked) {
166
+ const value = (0, _helpers.getFormattedValue)(assetType === null || assetType === void 0 ? void 0 : assetType.output_format, item === null || item === void 0 ? void 0 : item.file_url, item);
167
+ // console.log(value);
168
+ onSelect(item === null || item === void 0 ? void 0 : item.thumbnail_url, value);
169
+ }
170
+ }
171
+ }), !isImagePicker && /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
172
+ menu: {
173
+ items
174
+ },
175
+ className: "more-icon",
176
+ trigger: ["click"]
177
+ }, /*#__PURE__*/_react.default.createElement(_icons.MoreOutlined, null)))), showEdit && /*#__PURE__*/_react.default.createElement(_uploadFile.default, {
178
+ setShowUploadFile: setShowEdit,
179
+ id: item === null || item === void 0 ? void 0 : item.id,
180
+ folderId: item === null || item === void 0 ? void 0 : item.folder_id,
181
+ fetchFiles: fetchFiles,
182
+ setFiles: setFiles,
183
+ folder: folder,
184
+ styles: styles,
185
+ damAccessKey: damAccessKey,
186
+ secretKey: secretKey,
187
+ subdomain: subdomain,
188
+ teams: teams,
189
+ accessToken: accessToken,
190
+ currentUser: currentUser
191
+ }));
192
+ };
193
+ var _default = File;
194
+ exports.default = _default;
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _antd = require("antd");
10
+ require("./style.css");
11
+ var _foldersContainer = _interopRequireDefault(require("./foldersContainer"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _icons = require("@ant-design/icons");
14
+ var _createOrUpdateFolder = _interopRequireDefault(require("./createOrUpdateFolder"));
15
+ var _useFetch = _interopRequireDefault(require("../hocs/useFetch"));
16
+ var APIS = _interopRequireWildcard(require("../constants/apiEndpoints"));
17
+ const FileManagementContainer = _ref => {
18
+ let {
19
+ isImagePicker = false,
20
+ allowOnlyOneFolder = false,
21
+ onSelect,
22
+ currentImagePicker,
23
+ teamIds = [],
24
+ damAccessKey,
25
+ secretKey,
26
+ subdomain,
27
+ styles,
28
+ userEmail,
29
+ folderId = null,
30
+ showSubfolders = false,
31
+ parentId = null
32
+ } = _ref;
33
+ const [loading, setLoading] = (0, _react.useState)(false);
34
+ const [hasFolders, setHasFolders] = (0, _react.useState)(false);
35
+ const [showCreateFolder, setShowCreateFolder] = (0, _react.useState)(false);
36
+ const [folders, setFolders] = (0, _react.useState)([]);
37
+ const {
38
+ fetchApi
39
+ } = (0, _useFetch.default)();
40
+ const [isAdmin, setIsAdmin] = (0, _react.useState)(false);
41
+ const [adminTeamIds, setAdminTeamIds] = (0, _react.useState)([]);
42
+ const [assetTypes, setAssetTypes] = (0, _react.useState)([]);
43
+ const [isNewFileUploading, setIsNewFileUploading] = (0, _react.useState)(false);
44
+ const [teams, setTeams] = (0, _react.useState)([]);
45
+ const [accessToken, setAccessToken] = (0, _react.useState)(null);
46
+ const [currentUser, setCurrentUser] = (0, _react.useState)({});
47
+ (0, _react.useEffect)(() => {
48
+ if (subdomain) {
49
+ setLoading(true);
50
+ fetchApi({
51
+ httpMethod: "post",
52
+ body: {
53
+ access_key: process.env.REACT_APP_DAM_ACCESS_KEY || damAccessKey,
54
+ secret_key: process.env.REACT_APP_DAM_SECRET_KEY || secretKey,
55
+ subdomain: process.env.REACT_APP_DAM_SUBDOMAIN || subdomain
56
+ },
57
+ route: APIS.GENERATE_TOKENS,
58
+ onSuccess: response => {
59
+ var _response$data, _response$data2;
60
+ setLoading(false);
61
+ const token = response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.access_token;
62
+ const user = response === null || response === void 0 ? void 0 : (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.user;
63
+ setAccessToken(token);
64
+ setCurrentUser(user);
65
+ // localStorage.setItem("damToken", accessToken);
66
+ // localStorage.setItem("damUser", JSON.stringify(user));
67
+ fetchFolders(token);
68
+ fetchClientTeamAPI(token);
69
+ getClientAdminTeamIds(token);
70
+ getAssetTypes(token);
71
+ },
72
+ onFailure: () => {
73
+ setLoading(false);
74
+ setAccessToken(null);
75
+ setCurrentUser({});
76
+ },
77
+ damAccessKey,
78
+ secretKey,
79
+ subdomain
80
+ });
81
+ }
82
+ }, [subdomain]);
83
+ const fetchClientTeamAPI = function () {
84
+ let token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
85
+ fetchApi({
86
+ route: APIS.FETCH_CLIENT_TEAM_API,
87
+ httpMethod: "GET",
88
+ damAccessKey,
89
+ secretKey,
90
+ subdomain,
91
+ accessToken: token !== null && token !== void 0 ? token : accessToken,
92
+ onSuccess: response => {
93
+ const teamAPIDetails = response === null || response === void 0 ? void 0 : response.data;
94
+ if (teamAPIDetails !== null && teamAPIDetails !== void 0 && teamAPIDetails.teams_api && teamAPIDetails !== null && teamAPIDetails !== void 0 && teamAPIDetails.username && teamAPIDetails !== null && teamAPIDetails !== void 0 && teamAPIDetails.password) {
95
+ fetch(teamAPIDetails === null || teamAPIDetails === void 0 ? void 0 : teamAPIDetails.teams_api, {
96
+ method: "GET",
97
+ headers: {
98
+ Authorization: "Basic " + btoa((teamAPIDetails === null || teamAPIDetails === void 0 ? void 0 : teamAPIDetails.username) + ":" + (teamAPIDetails === null || teamAPIDetails === void 0 ? void 0 : teamAPIDetails.password))
99
+ }
100
+ }).then(response => {
101
+ return response === null || response === void 0 ? void 0 : response.json();
102
+ }).then(result => {
103
+ var _result$data;
104
+ const options = result === null || result === void 0 ? void 0 : (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.map(team => {
105
+ return {
106
+ label: /*#__PURE__*/_react.default.createElement(_antd.Typography.Text, {
107
+ style: {
108
+ display: "flex"
109
+ }
110
+ }, team === null || team === void 0 ? void 0 : team.id, " ", team === null || team === void 0 ? void 0 : team.name, " ", /*#__PURE__*/_react.default.createElement("span", {
111
+ style: {
112
+ marginLeft: "auto"
113
+ }
114
+ }, team === null || team === void 0 ? void 0 : team.type)),
115
+ value: team === null || team === void 0 ? void 0 : team.id,
116
+ key: `${team === null || team === void 0 ? void 0 : team.id} - ${team === null || team === void 0 ? void 0 : team.name} - ${team === null || team === void 0 ? void 0 : team.type}`
117
+ };
118
+ });
119
+ setTeams(options);
120
+ }).catch(() => {});
121
+ }
122
+ }
123
+ });
124
+ };
125
+ const getClientAdminTeamIds = function () {
126
+ let token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
127
+ if ((adminTeamIds === null || adminTeamIds === void 0 ? void 0 : adminTeamIds.length) == 0) {
128
+ fetchApi({
129
+ httpMethod: "get",
130
+ params: {
131
+ isComponent: true,
132
+ subdomain: process.env.REACT_APP_DAM_SUBDOMAIN || subdomain
133
+ },
134
+ route: APIS.FETCH_CLIENT_USING_SUBDOMAIN,
135
+ onSuccess: response => {
136
+ var _response$data3;
137
+ const adminTeamIds = response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : _response$data3.split(",");
138
+ setAdminTeamIds(adminTeamIds);
139
+ // console.log(adminTeamIds);
140
+ setIsAdmin(teamIds.reduce((acc, curr) => {
141
+ return acc || adminTeamIds.includes(curr.toString());
142
+ }, false));
143
+ },
144
+ accessToken: token !== null && token !== void 0 ? token : accessToken,
145
+ damAccessKey,
146
+ secretKey,
147
+ subdomain
148
+ });
149
+ }
150
+ };
151
+ const getAssetTypes = function () {
152
+ let token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
153
+ fetchApi({
154
+ httpMethod: "get",
155
+ route: APIS.FETCH_ASSET_TYPES,
156
+ params: {
157
+ fetchAll: true
158
+ },
159
+ onSuccess: response => {
160
+ const data = response === null || response === void 0 ? void 0 : response.data;
161
+ setAssetTypes(data === null || data === void 0 ? void 0 : data.items);
162
+ },
163
+ accessToken: token !== null && token !== void 0 ? token : accessToken,
164
+ damAccessKey,
165
+ secretKey,
166
+ subdomain
167
+ });
168
+ };
169
+ const fetchFolders = function () {
170
+ let token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
171
+ let success = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
172
+ setLoading(true);
173
+ const params = {
174
+ parent_id: isImagePicker ? currentImagePicker === null || currentImagePicker === void 0 ? void 0 : currentImagePicker.folder_parent_id : null,
175
+ team_ids: JSON.stringify(teamIds),
176
+ is_component: true
177
+ };
178
+ if (allowOnlyOneFolder) {
179
+ params["id"] = folderId;
180
+ params["parent_id"] = parentId;
181
+ }
182
+ if (isImagePicker) {
183
+ params["id"] = currentImagePicker === null || currentImagePicker === void 0 ? void 0 : currentImagePicker.folder_id;
184
+ params["skip_team_visibility"] = currentImagePicker === null || currentImagePicker === void 0 ? void 0 : currentImagePicker.skip_team_visibility;
185
+ }
186
+ fetchApi({
187
+ route: APIS.FETCH_FOLDERS,
188
+ httpMethod: "get",
189
+ params: params,
190
+ onSuccess: response => {
191
+ var _response$data4;
192
+ // console.log(response);
193
+ const data = response === null || response === void 0 ? void 0 : response.data;
194
+ setLoading(false);
195
+ setFolders(data);
196
+ if ((response === null || response === void 0 ? void 0 : (_response$data4 = response.data) === null || _response$data4 === void 0 ? void 0 : _response$data4.length) > 0) {
197
+ setHasFolders(true);
198
+ }
199
+ if (success) {
200
+ success();
201
+ }
202
+ },
203
+ onFailure: () => {
204
+ setLoading(false);
205
+ },
206
+ accessToken: token !== null && token !== void 0 ? token : accessToken,
207
+ damAccessKey,
208
+ secretKey,
209
+ subdomain
210
+ });
211
+ };
212
+ function uploadFileToPresignedUrl(url, file, selectedFileUrl) {
213
+ setIsNewFileUploading(true);
214
+ try {
215
+ fetch(url, {
216
+ method: "put",
217
+ headers: {
218
+ "Content-Type": file.type,
219
+ "Access-Control-Allow-Origin": "*"
220
+ },
221
+ body: file
222
+ }).then(response => {
223
+ fetchApi({
224
+ httpMethod: "POST",
225
+ route: "/file/generate-thumbnail-for-temp-file",
226
+ body: {
227
+ file_url: selectedFileUrl
228
+ },
229
+ onSuccess: response => {
230
+ setIsNewFileUploading(false);
231
+ const data = response.data;
232
+ onSelect(data.thumbnail_url, selectedFileUrl);
233
+ },
234
+ onFailure: () => {
235
+ setIsNewFileUploading(false);
236
+ },
237
+ accessToken: accessToken,
238
+ damAccessKey,
239
+ secretKey,
240
+ subdomain
241
+ });
242
+ }).catch(() => {
243
+ setIsNewFileUploading(false);
244
+ console.error("Error while fetch the file thumbnail");
245
+ _antd.notification.error({
246
+ message: "Error while fetch the file thumbnail"
247
+ });
248
+ });
249
+ // console.log("File uploaded successfully");
250
+ } catch (error) {
251
+ setIsNewFileUploading(false);
252
+ // console.error("Error uploading the file:");
253
+ _antd.notification.error({
254
+ message: "Error while uploading"
255
+ });
256
+ }
257
+ }
258
+ return /*#__PURE__*/_react.default.createElement("div", {
259
+ className: "file-management-page"
260
+ }, loading ? /*#__PURE__*/_react.default.createElement("div", {
261
+ className: "dam-loading"
262
+ }, /*#__PURE__*/_react.default.createElement(_antd.Spin, null)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !hasFolders && isAdmin && !isImagePicker && /*#__PURE__*/_react.default.createElement(_antd.Button, {
263
+ type: "primary",
264
+ icon: /*#__PURE__*/_react.default.createElement(_icons.PlusOutlined, null),
265
+ onClick: () => setShowCreateFolder(true)
266
+ }, "Add Folder"), isImagePicker && (currentImagePicker === null || currentImagePicker === void 0 ? void 0 : currentImagePicker.allow_new_files) && /*#__PURE__*/_react.default.createElement("div", {
267
+ style: {
268
+ display: "flex",
269
+ marginRight: "20px",
270
+ paddingBottom: "10px"
271
+ }
272
+ }, /*#__PURE__*/_react.default.createElement("div", {
273
+ style: {
274
+ marginLeft: "auto"
275
+ }
276
+ }, " ", /*#__PURE__*/_react.default.createElement(_antd.Upload, {
277
+ showUploadList: false,
278
+ beforeUpload: (file, fileList) => {
279
+ const [name, extension] = file.name.split(".");
280
+ setIsNewFileUploading(true);
281
+ fetchApi({
282
+ httpMethod: "GET",
283
+ route: APIS.GET_IMAGE_PICKER_PRESIGNED_URL.replace(":extension", "." + extension),
284
+ onSuccess: response => {
285
+ const data = response === null || response === void 0 ? void 0 : response.data;
286
+ const fileUrl = data === null || data === void 0 ? void 0 : data.file_url;
287
+ const presignedUrl = data === null || data === void 0 ? void 0 : data.presigned_url;
288
+ uploadFileToPresignedUrl(presignedUrl, file, fileUrl);
289
+ },
290
+ onFailure: () => {
291
+ setIsNewFileUploading(false);
292
+ },
293
+ accessToken: accessToken,
294
+ damAccessKey,
295
+ secretKey,
296
+ subdomain
297
+ });
298
+ }
299
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
300
+ type: "primary",
301
+ style: {
302
+ backgroundColor: styles === null || styles === void 0 ? void 0 : styles.primaryColor
303
+ },
304
+ loading: isNewFileUploading
305
+ }, "Select new file")))), hasFolders ? /*#__PURE__*/_react.default.createElement(_foldersContainer.default, {
306
+ folders: folders,
307
+ setFolders: setFolders,
308
+ isImagePicker: isImagePicker,
309
+ folderId: folderId,
310
+ onSelect: onSelect,
311
+ currentImagePicker: currentImagePicker,
312
+ fetchFolders: fetchFolders,
313
+ teamIds: teamIds,
314
+ isAdmin: isAdmin,
315
+ damAccessKey: damAccessKey,
316
+ secretKey: secretKey,
317
+ subdomain: subdomain,
318
+ styles: styles,
319
+ assetTypes: assetTypes,
320
+ teams: teams,
321
+ currentUser: currentUser,
322
+ accessToken: accessToken,
323
+ userEmail: userEmail,
324
+ allowOnlyOneFolder: allowOnlyOneFolder,
325
+ showSubfolders: showSubfolders
326
+ }) : /*#__PURE__*/_react.default.createElement("div", {
327
+ className: "empty-container1"
328
+ }, /*#__PURE__*/_react.default.createElement(_antd.Typography.Text, null, "No folders found"))), showCreateFolder && /*#__PURE__*/_react.default.createElement(_createOrUpdateFolder.default, {
329
+ setShowCreateFolder: setShowCreateFolder,
330
+ parentId: "root",
331
+ disableIsParent: true,
332
+ damAccessKey: damAccessKey,
333
+ secretKey: secretKey,
334
+ subdomain: subdomain,
335
+ styles: styles,
336
+ teamIds: teamIds,
337
+ fetchFolders: fetchFolders,
338
+ setFolders: setFolders,
339
+ teams: teams,
340
+ currentUser: currentUser,
341
+ accessToken: accessToken
342
+ }));
343
+ };
344
+ var _default = FileManagementContainer;
345
+ exports.default = _default;