@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,26 @@
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 _antd = require("antd");
9
+ var _imagePicker = _interopRequireDefault(require("./imagePicker"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ function App(props) {
12
+ var _props$styles, _props$styles2, _props$styles3;
13
+ return /*#__PURE__*/_react.default.createElement(_antd.ConfigProvider, {
14
+ theme: {
15
+ token: {
16
+ colorPrimary: props === null || props === void 0 ? void 0 : (_props$styles = props.styles) === null || _props$styles === void 0 ? void 0 : _props$styles.primaryColor,
17
+ colorLink: props === null || props === void 0 ? void 0 : (_props$styles2 = props.styles) === null || _props$styles2 === void 0 ? void 0 : _props$styles2.primaryColor,
18
+ colorLinkHover: props === null || props === void 0 ? void 0 : (_props$styles3 = props.styles) === null || _props$styles3 === void 0 ? void 0 : _props$styles3.secondaryColor
19
+ }
20
+ }
21
+ }, /*#__PURE__*/_react.default.createElement(_imagePicker.default, Object.assign({}, props, {
22
+ damAccessKey: props === null || props === void 0 ? void 0 : props.accessKey
23
+ })));
24
+ }
25
+ var _default = App;
26
+ exports.default = _default;
@@ -0,0 +1,128 @@
1
+ * {
2
+ padding: 0;
3
+ margin: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ .empty-container {
8
+ display: flex;
9
+ height: calc(100vh - 60px);
10
+ align-items: center;
11
+ justify-content: center;
12
+ }
13
+
14
+ .image-pickers {
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ gap: 10px;
18
+ }
19
+
20
+ .image-picker-container .image-selection {
21
+ position: relative;
22
+ }
23
+
24
+ .image-picker-container h5 {
25
+ margin: 0 !important;
26
+ }
27
+
28
+ .image-picker-container .actions {
29
+ align-items: center;
30
+ display: flex;
31
+ justify-content: space-between;
32
+ margin-top: 10px;
33
+ }
34
+
35
+ .image-picker-container img {
36
+ border-radius: 6px;
37
+ }
38
+
39
+ .image-picker-container {
40
+ margin-top: 20px;
41
+ padding: 10px;
42
+ text-align: center;
43
+ display: flex;
44
+ flex-direction: column;
45
+ border: 1px solid silver;
46
+ border-radius: 6px;
47
+ background-color: white;
48
+ width: 220px;
49
+ height: 285px;
50
+ }
51
+
52
+ .image-picker-modal {
53
+ height: calc(100vh - 60px);
54
+ top: 50px !important;
55
+ }
56
+
57
+ .image-picker-modal .ant-modal-content {
58
+ height: 100% !important;
59
+ }
60
+
61
+ .image-picker-files .right-container {
62
+ max-height: calc(100vh - 220px);
63
+ overflow-y: scroll;
64
+ padding: 10px 20px;
65
+ }
66
+
67
+ .image-picker-files .empty-container {
68
+ height: calc(100vh - 465px);
69
+ }
70
+
71
+ .image-picker-files .empty-files-container {
72
+ display: flex;
73
+ height: 300px;
74
+ align-items: center;
75
+ justify-content: center;
76
+ }
77
+
78
+ .image-picker-files {
79
+ margin-top: 50px;
80
+ }
81
+
82
+ .file-selection .ant-image {
83
+ height: 190px;
84
+ overflow: hidden;
85
+ border-radius: 6px;
86
+ display: flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ }
90
+ .file-selection .ant-image .ant-image-img {
91
+ /* height: 100% !important; */
92
+ width: fit-content;
93
+ }
94
+
95
+ @media (max-width: 767px) {
96
+ .image-pickers {
97
+ justify-content: center;
98
+ }
99
+
100
+ .image-picker-files .right-container .file-container {
101
+ width: 114px;
102
+ height: 150px;
103
+ }
104
+
105
+ .image-picker-files .right-container .file-selection .ant-image {
106
+ height: 100px;
107
+ }
108
+
109
+ .image-picker-files .right-container .file-selection .select-text {
110
+ top: 38px;
111
+ left: 20px;
112
+ }
113
+ }
114
+
115
+ @media (max-width: 992px) {
116
+ .image-picker-files .right-container {
117
+ max-height: 550px;
118
+ padding: 10px 5px;
119
+ }
120
+ }
121
+
122
+ .dam-loading {
123
+ display: flex;
124
+ width: 100%;
125
+ height: calc(100vh - 150px);
126
+ justify-content: center;
127
+ align-items: center;
128
+ }
@@ -0,0 +1,382 @@
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 _react = _interopRequireWildcard(require("react"));
10
+ var _antd = require("antd");
11
+ require("./style.css");
12
+ var APIS = _interopRequireWildcard(require("../constants/apiEndpoints"));
13
+ var _useFetch = _interopRequireDefault(require("../hocs/useFetch"));
14
+ var _helpers = require("../hocs/helpers");
15
+ var _icons = require("@ant-design/icons");
16
+ function ImagePickerFilters(_ref) {
17
+ var _state$assetType, _state$imagePicker2, _state$files;
18
+ let {
19
+ id,
20
+ teamIds,
21
+ damAccessKey,
22
+ secretKey,
23
+ subdomain,
24
+ styles,
25
+ onSelect,
26
+ value,
27
+ fileId
28
+ } = _ref;
29
+ const {
30
+ fetchApi
31
+ } = (0, _useFetch.default)();
32
+ const [accessToken, setAccessToken] = (0, _react.useState)(null);
33
+ const [state, setState] = (0, _react.useState)({
34
+ assetType: null,
35
+ imagePicker: {},
36
+ loading: false,
37
+ fieldOptions: {},
38
+ filters: {},
39
+ fieldName: "",
40
+ files: [],
41
+ selectedFileUrl: null,
42
+ selectedFileId: null,
43
+ loaderType: "",
44
+ selectedFieldName: ""
45
+ });
46
+ (0, _react.useEffect)(() => {
47
+ if (subdomain) {
48
+ try {
49
+ setState(prevState => {
50
+ return {
51
+ ...prevState,
52
+ loading: true,
53
+ loaderType: "GENERATE_TOKENS"
54
+ };
55
+ });
56
+ fetchApi({
57
+ httpMethod: "post",
58
+ body: {
59
+ access_key: process.env.REACT_APP_DAM_ACCESS_KEY || damAccessKey,
60
+ secret_key: process.env.REACT_APP_DAM_SECRET_KEY || secretKey,
61
+ subdomain: process.env.REACT_APP_DAM_SUBDOMAIN || subdomain
62
+ },
63
+ route: APIS.GENERATE_TOKENS,
64
+ onSuccess: response => {
65
+ var _response$data;
66
+ setState(prevState => {
67
+ return {
68
+ ...prevState,
69
+ loading: false,
70
+ loaderType: ""
71
+ };
72
+ });
73
+ const token = response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.access_token;
74
+ setAccessToken(token);
75
+ },
76
+ onFailure: () => {
77
+ setState(prevState => {
78
+ return {
79
+ ...prevState,
80
+ loaderType: "",
81
+ loading: false
82
+ };
83
+ });
84
+ setAccessToken(null);
85
+ },
86
+ damAccessKey,
87
+ secretKey,
88
+ subdomain
89
+ });
90
+ } catch (err) {
91
+ console.log(err);
92
+ }
93
+ }
94
+ }, [subdomain]);
95
+ (0, _react.useEffect)(() => {
96
+ if (id && accessToken) {
97
+ try {
98
+ setState(prevState => {
99
+ return {
100
+ ...prevState,
101
+ loading: true,
102
+ loaderType: "ASSET_TYPE"
103
+ };
104
+ });
105
+ fetchApi({
106
+ httpMethod: "get",
107
+ route: APIS.FETCH_IMAGE_PICKER.replace(":id", id),
108
+ onSuccess: response => {
109
+ var _response$data2, _response$data3;
110
+ if (response !== null && response !== void 0 && (_response$data2 = response.data) !== null && _response$data2 !== void 0 && _response$data2.has_filters && response !== null && response !== void 0 && (_response$data3 = response.data) !== null && _response$data3 !== void 0 && _response$data3.asset_type_id) {
111
+ var _response$data4;
112
+ fetchApi({
113
+ httpMethod: "get",
114
+ route: APIS.FETCH_ASSET_TYPE.replace(":id", response === null || response === void 0 ? void 0 : (_response$data4 = response.data) === null || _response$data4 === void 0 ? void 0 : _response$data4.asset_type_id),
115
+ onSuccess: assetTypeResponse => {
116
+ setState(prevState => {
117
+ return {
118
+ ...prevState,
119
+ loading: false,
120
+ imagePicker: response === null || response === void 0 ? void 0 : response.data,
121
+ assetType: assetTypeResponse === null || assetTypeResponse === void 0 ? void 0 : assetTypeResponse.data,
122
+ loaderType: ""
123
+ };
124
+ });
125
+ },
126
+ onFailure: () => {
127
+ setState(prevState => {
128
+ return {
129
+ ...prevState,
130
+ loading: false,
131
+ loaderType: ""
132
+ };
133
+ });
134
+ },
135
+ accessToken,
136
+ damAccessKey,
137
+ secretKey,
138
+ subdomain
139
+ });
140
+ } else {
141
+ setState(prevState => {
142
+ return {
143
+ ...prevState,
144
+ loading: false,
145
+ loaderType: ""
146
+ };
147
+ });
148
+ }
149
+ },
150
+ accessToken,
151
+ damAccessKey,
152
+ secretKey,
153
+ subdomain
154
+ });
155
+ } catch (err) {
156
+ console.log(err);
157
+ }
158
+ }
159
+ }, [id, accessToken]);
160
+ const fields = (state === null || state === void 0 ? void 0 : (_state$assetType = state.assetType) === null || _state$assetType === void 0 ? void 0 : _state$assetType.metadata_fields) || [];
161
+ const onFilter = function (filters, fieldOptions, nextField) {
162
+ var _state$imagePicker, _state$assetType2;
163
+ let fromValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
164
+ const filtersStr = Object.keys(filters).reduce((acc, key) => {
165
+ const value = (filters === null || filters === void 0 ? void 0 : filters[key]) || "";
166
+ if (value) {
167
+ acc = acc == "" ? acc + `${key}:${encodeURIComponent(value)}` : acc + `~${key}:${encodeURIComponent(value)}`;
168
+ }
169
+ return acc;
170
+ }, "");
171
+ setState(prevState => {
172
+ return {
173
+ ...prevState,
174
+ filters,
175
+ fieldOptions,
176
+ loading: true,
177
+ fieldName: nextField,
178
+ selectedFieldName: null
179
+ };
180
+ });
181
+ const params = {
182
+ filters: filtersStr,
183
+ return_distinct_values: true,
184
+ distinct_values_key: nextField,
185
+ folder_id_path: state === null || state === void 0 ? void 0 : (_state$imagePicker = state.imagePicker) === null || _state$imagePicker === void 0 ? void 0 : _state$imagePicker.folder_id,
186
+ team_ids: JSON.stringify(teamIds),
187
+ is_component: true,
188
+ asset_type_id: state === null || state === void 0 ? void 0 : (_state$assetType2 = state.assetType) === null || _state$assetType2 === void 0 ? void 0 : _state$assetType2.id
189
+ };
190
+ fetchApi({
191
+ httpMethod: "get",
192
+ route: `${APIS.IMAGE_PICKER_FILE_FILTERS_URL}?${(0, _helpers.addQueryParams)(params)}`,
193
+ onSuccess: response => {
194
+ var _response$data5, _response$data6, _response$data6$files;
195
+ const currentFieldOptions = {
196
+ ...fieldOptions,
197
+ [nextField]: (response === null || response === void 0 ? void 0 : (_response$data5 = response.data) === null || _response$data5 === void 0 ? void 0 : _response$data5.distinctValues) || []
198
+ };
199
+ const finalState = {
200
+ fieldOptions: currentFieldOptions,
201
+ files: (response === null || response === void 0 ? void 0 : (_response$data6 = response.data) === null || _response$data6 === void 0 ? void 0 : (_response$data6$files = _response$data6.files) === null || _response$data6$files === void 0 ? void 0 : _response$data6$files.items) || [],
202
+ loading: false,
203
+ fieldName: ""
204
+ };
205
+ if (!fromValue) {
206
+ finalState["selectedFileId"] = null;
207
+ finalState["selectedFileUrl"] = null;
208
+ } else if (nextField == "") {
209
+ var _response$data7, _response$data7$files, _response$data7$files2;
210
+ const selectedFile = response === null || response === void 0 ? void 0 : (_response$data7 = response.data) === null || _response$data7 === void 0 ? void 0 : (_response$data7$files = _response$data7.files) === null || _response$data7$files === void 0 ? void 0 : (_response$data7$files2 = _response$data7$files.items) === null || _response$data7$files2 === void 0 ? void 0 : _response$data7$files2.find(item => item.id == fileId);
211
+ finalState["selectedFileId"] = selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.id;
212
+ finalState["selectedFileUrl"] = selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.thumbnail_url;
213
+ }
214
+ setState(prevState => {
215
+ return {
216
+ ...prevState,
217
+ ...finalState
218
+ };
219
+ });
220
+ if (fromValue && nextField !== "") {
221
+ var _fields, _response$data8, _response$data8$files, _response$data8$files2;
222
+ const index = fields === null || fields === void 0 ? void 0 : fields.findIndex(field => {
223
+ return field.name == nextField;
224
+ });
225
+ const nextNextField = fields.length !== index + 1 ? (fields === null || fields === void 0 ? void 0 : (_fields = fields[index + 1]) === null || _fields === void 0 ? void 0 : _fields.name) || "" : "";
226
+ const prevFields = fields.slice(0, index + 1);
227
+ const allFilters = {};
228
+ const allFieldOptions = {};
229
+ prevFields.forEach(item => {
230
+ allFilters[item.name] = filters === null || filters === void 0 ? void 0 : filters[item.name];
231
+ allFieldOptions[item.name] = currentFieldOptions === null || currentFieldOptions === void 0 ? void 0 : currentFieldOptions[item.name];
232
+ });
233
+ allFilters[nextField] = value === null || value === void 0 ? void 0 : value[nextField];
234
+ if ((response === null || response === void 0 ? void 0 : (_response$data8 = response.data) === null || _response$data8 === void 0 ? void 0 : (_response$data8$files = _response$data8.files) === null || _response$data8$files === void 0 ? void 0 : (_response$data8$files2 = _response$data8$files.items) === null || _response$data8$files2 === void 0 ? void 0 : _response$data8$files2.length) == 0) {
235
+ onFilter(allFilters, allFieldOptions, nextNextField, true);
236
+ }
237
+ }
238
+ },
239
+ onFailure: () => {
240
+ setState(prevState => {
241
+ return {
242
+ ...prevState,
243
+ loading: false,
244
+ fieldName: ""
245
+ };
246
+ });
247
+ },
248
+ accessToken,
249
+ damAccessKey,
250
+ secretKey,
251
+ subdomain
252
+ });
253
+ };
254
+ (0, _react.useEffect)(() => {
255
+ try {
256
+ if (fields.length > 0) {
257
+ if (value) {
258
+ var _fields$;
259
+ const fieldName = (fields === null || fields === void 0 ? void 0 : (_fields$ = fields[0]) === null || _fields$ === void 0 ? void 0 : _fields$.name) || "";
260
+ const currentFilters = {
261
+ [fieldName]: ""
262
+ };
263
+ onFilter(currentFilters, {}, fieldName, true);
264
+ } else {
265
+ var _fields$2;
266
+ const fieldName = (fields === null || fields === void 0 ? void 0 : (_fields$2 = fields[0]) === null || _fields$2 === void 0 ? void 0 : _fields$2.name) || "";
267
+ const currentFilters = {
268
+ [fieldName]: ""
269
+ };
270
+ onFilter(currentFilters, {}, fieldName);
271
+ }
272
+ }
273
+ } catch (err) {
274
+ console.log(err);
275
+ }
276
+ }, [fields, value]);
277
+
278
+ // console.log(state?.filters, state?.selectedFileUrl, state?.fieldOptions);
279
+ return /*#__PURE__*/_react.default.createElement("div", {
280
+ className: "image-picker-filters"
281
+ }, state !== null && state !== void 0 && state.loading && ((state === null || state === void 0 ? void 0 : state.loaderType) == "ASSET_TYPE" || (state === null || state === void 0 ? void 0 : state.loaderType) == "GENERATE_TOKENS") ? /*#__PURE__*/_react.default.createElement("div", {
282
+ className: "dam-loading"
283
+ }, /*#__PURE__*/_react.default.createElement(_antd.Spin, null)) : /*#__PURE__*/_react.default.createElement("div", {
284
+ className: "image-picker-filters-container"
285
+ }, !(state !== null && state !== void 0 && state.assetType) ? /*#__PURE__*/_react.default.createElement(_antd.Empty, {
286
+ description: "Asset Type not found",
287
+ image: _antd.Empty.PRESENTED_IMAGE_SIMPLE
288
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Typography.Text, null, state === null || state === void 0 ? void 0 : (_state$imagePicker2 = state.imagePicker) === null || _state$imagePicker2 === void 0 ? void 0 : _state$imagePicker2.name), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_antd.Form, {
289
+ layout: "vertical"
290
+ }, fields.map((field, index) => {
291
+ var _fields2, _ref2, _state$fieldOptions, _state$filters;
292
+ const fieldName = (field === null || field === void 0 ? void 0 : field.name) || "";
293
+ const nextField = fields.length !== index + 1 ? (fields === null || fields === void 0 ? void 0 : (_fields2 = fields[index + 1]) === null || _fields2 === void 0 ? void 0 : _fields2.name) || "" : "";
294
+ return /*#__PURE__*/_react.default.createElement(_antd.Form.Item, {
295
+ key: fieldName,
296
+ label: fieldName
297
+ }, /*#__PURE__*/_react.default.createElement(_antd.Select, {
298
+ placeholder: fieldName,
299
+ key: fieldName,
300
+ style: {
301
+ width: "100%"
302
+ },
303
+ options: (_ref2 = (state === null || state === void 0 ? void 0 : (_state$fieldOptions = state.fieldOptions) === null || _state$fieldOptions === void 0 ? void 0 : _state$fieldOptions[fieldName]) || []) === null || _ref2 === void 0 ? void 0 : _ref2.map(option => {
304
+ return {
305
+ label: option,
306
+ value: option
307
+ };
308
+ }),
309
+ showSearch: true,
310
+ value: (state === null || state === void 0 ? void 0 : (_state$filters = state.filters) === null || _state$filters === void 0 ? void 0 : _state$filters[fieldName]) || null,
311
+ onChange: val => {
312
+ const prevFields = fields.slice(0, index + 1);
313
+ const allFilters = {};
314
+ const allFieldOptions = {};
315
+ prevFields.forEach(item => {
316
+ var _state$filters2, _state$fieldOptions2;
317
+ allFilters[item.name] = state === null || state === void 0 ? void 0 : (_state$filters2 = state.filters) === null || _state$filters2 === void 0 ? void 0 : _state$filters2[item.name];
318
+ allFieldOptions[item.name] = state === null || state === void 0 ? void 0 : (_state$fieldOptions2 = state.fieldOptions) === null || _state$fieldOptions2 === void 0 ? void 0 : _state$fieldOptions2[item.name];
319
+ });
320
+ allFilters[fieldName] = val;
321
+ onFilter(allFilters, allFieldOptions, nextField);
322
+ },
323
+ loading: (state === null || state === void 0 ? void 0 : state.loading) && (state === null || state === void 0 ? void 0 : state.fieldName) == fieldName
324
+ }));
325
+ }), /*#__PURE__*/_react.default.createElement(_antd.Form.Item, {
326
+ label: "Image"
327
+ }, /*#__PURE__*/_react.default.createElement(_antd.Select, {
328
+ placeholder: "Select Image",
329
+ style: {
330
+ width: "100%"
331
+ },
332
+ key: "IMAGE_THUMBNAIL",
333
+ loading: (state === null || state === void 0 ? void 0 : state.loading) && (state === null || state === void 0 ? void 0 : state.fieldName) == "",
334
+ showSearch: true,
335
+ options: state === null || state === void 0 ? void 0 : (_state$files = state.files) === null || _state$files === void 0 ? void 0 : _state$files.map(file => {
336
+ return {
337
+ label: file === null || file === void 0 ? void 0 : file.name,
338
+ value: file === null || file === void 0 ? void 0 : file.id,
339
+ file
340
+ };
341
+ }),
342
+ optionLabelProp: "label",
343
+ value: state === null || state === void 0 ? void 0 : state.selectedFileId,
344
+ onChange: (val, option) => {
345
+ if (onSelect) {
346
+ var _state$assetType3, _option$file;
347
+ const value = (0, _helpers.getFormattedValue)(state === null || state === void 0 ? void 0 : (_state$assetType3 = state.assetType) === null || _state$assetType3 === void 0 ? void 0 : _state$assetType3.output_format, option === null || option === void 0 ? void 0 : (_option$file = option.file) === null || _option$file === void 0 ? void 0 : _option$file.file_url, option === null || option === void 0 ? void 0 : option.file);
348
+ // console.log(val, value, state?.filters);
349
+ onSelect(val, value, state === null || state === void 0 ? void 0 : state.filters);
350
+ }
351
+ setState(prevState => {
352
+ var _option$file2;
353
+ return {
354
+ ...prevState,
355
+ selectedFileId: val,
356
+ selectedFileUrl: option === null || option === void 0 ? void 0 : (_option$file2 = option.file) === null || _option$file2 === void 0 ? void 0 : _option$file2.thumbnail_url,
357
+ selectedFieldName: ""
358
+ };
359
+ });
360
+ }
361
+ }), (state === null || state === void 0 ? void 0 : state.selectedFileUrl) && /*#__PURE__*/_react.default.createElement("div", {
362
+ style: {
363
+ backgroundImage: "linear-gradient(45deg, #e0e0e0 25%, transparent 25%), linear-gradient(-45deg, #e0e0e0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e0e0e0 75%), linear-gradient(-45deg, transparent 75%, #e0e0e0 75%)",
364
+ backgroundSize: "16px 16px",
365
+ backgroundPosition: "0 0, 0 8px, 8px -8px, -8px 0px",
366
+ display: "inline-block",
367
+ marginTop: "10px",
368
+ borderRadius: "10px"
369
+ }
370
+ }, /*#__PURE__*/_react.default.createElement("img", {
371
+ src: state === null || state === void 0 ? void 0 : state.selectedFileUrl,
372
+ width: 200,
373
+ key: state === null || state === void 0 ? void 0 : state.selectedFileUrl,
374
+ style: {
375
+ borderRadius: "10px",
376
+ display: "block"
377
+ },
378
+ alt: "Selected file preview"
379
+ })))))));
380
+ }
381
+ var _default = ImagePickerFilters;
382
+ exports.default = _default;
@@ -0,0 +1,26 @@
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 _react = _interopRequireDefault(require("react"));
9
+ var _antd = require("antd");
10
+ var _imagePickerFilters = _interopRequireDefault(require("./imagePickerFilters"));
11
+ function App(props) {
12
+ var _props$styles, _props$styles2, _props$styles3;
13
+ return /*#__PURE__*/_react.default.createElement(_antd.ConfigProvider, {
14
+ theme: {
15
+ token: {
16
+ colorPrimary: props === null || props === void 0 ? void 0 : (_props$styles = props.styles) === null || _props$styles === void 0 ? void 0 : _props$styles.primaryColor,
17
+ colorLink: props === null || props === void 0 ? void 0 : (_props$styles2 = props.styles) === null || _props$styles2 === void 0 ? void 0 : _props$styles2.primaryColor,
18
+ colorLinkHover: props === null || props === void 0 ? void 0 : (_props$styles3 = props.styles) === null || _props$styles3 === void 0 ? void 0 : _props$styles3.secondaryColor
19
+ }
20
+ }
21
+ }, /*#__PURE__*/_react.default.createElement(_imagePickerFilters.default, Object.assign({}, props, {
22
+ damAccessKey: props === null || props === void 0 ? void 0 : props.accessKey
23
+ })));
24
+ }
25
+ var _default = App;
26
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ .image-picker-filters {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ gap: 10px;
5
+ }
6
+ .image-picker-filters-container {
7
+ width: 100%;
8
+ margin-top: 5px;
9
+ padding: 10px;
10
+ display: flex;
11
+ flex-direction: column;
12
+ border: 1px solid silver;
13
+ border-radius: 6px;
14
+ background-color: white;
15
+ }
@@ -0,0 +1,26 @@
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 _react = _interopRequireDefault(require("react"));
9
+ var _antd = require("antd");
10
+ var _refreshKey = _interopRequireDefault(require("./refreshKey"));
11
+ function App(props) {
12
+ var _props$styles, _props$styles2, _props$styles3;
13
+ return /*#__PURE__*/_react.default.createElement(_antd.ConfigProvider, {
14
+ theme: {
15
+ token: {
16
+ colorPrimary: props === null || props === void 0 ? void 0 : (_props$styles = props.styles) === null || _props$styles === void 0 ? void 0 : _props$styles.primaryColor,
17
+ colorLink: props === null || props === void 0 ? void 0 : (_props$styles2 = props.styles) === null || _props$styles2 === void 0 ? void 0 : _props$styles2.primaryColor,
18
+ colorLinkHover: props === null || props === void 0 ? void 0 : (_props$styles3 = props.styles) === null || _props$styles3 === void 0 ? void 0 : _props$styles3.secondaryColor
19
+ }
20
+ }
21
+ }, /*#__PURE__*/_react.default.createElement(_refreshKey.default, Object.assign({}, props, {
22
+ damAccessKey: props === null || props === void 0 ? void 0 : props.accessKey
23
+ })));
24
+ }
25
+ var _default = App;
26
+ exports.default = _default;
@@ -0,0 +1,86 @@
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 _react = _interopRequireWildcard(require("react"));
10
+ var APIS = _interopRequireWildcard(require("../constants/apiEndpoints"));
11
+ var _antd = require("antd");
12
+ var _useFetch = _interopRequireDefault(require("../hocs/useFetch"));
13
+ const RefreshKey = _ref => {
14
+ let {
15
+ damAccessKey,
16
+ secretKey,
17
+ subdomain
18
+ } = _ref;
19
+ const [loading, setLoading] = (0, _react.useState)(false);
20
+ const [refreshLoading, setRefreshLoading] = (0, _react.useState)(false);
21
+ const {
22
+ fetchApi
23
+ } = (0, _useFetch.default)();
24
+ const [accessToken, setAccessToken] = (0, _react.useState)(null);
25
+ (0, _react.useEffect)(() => {
26
+ if (subdomain) {
27
+ setLoading(true);
28
+ fetchApi({
29
+ httpMethod: "post",
30
+ body: {
31
+ access_key: process.env.REACT_APP_DAM_ACCESS_KEY || damAccessKey,
32
+ secret_key: process.env.REACT_APP_DAM_SECRET_KEY || secretKey,
33
+ subdomain: process.env.REACT_APP_DAM_SUBDOMAIN || subdomain
34
+ },
35
+ route: APIS.GENERATE_TOKENS,
36
+ onSuccess: response => {
37
+ var _response$data;
38
+ setLoading(false);
39
+ const token = response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.access_token;
40
+ setAccessToken(token);
41
+ },
42
+ onFailure: () => {
43
+ setLoading(false);
44
+ setAccessToken(null);
45
+ },
46
+ damAccessKey,
47
+ secretKey,
48
+ subdomain
49
+ });
50
+ }
51
+ }, [subdomain]);
52
+ const onRefreshKey = () => {
53
+ setRefreshLoading(true);
54
+ fetchApi({
55
+ httpMethod: "POST",
56
+ body: {
57
+ access_key: damAccessKey,
58
+ secret_key: secretKey,
59
+ subdomain: subdomain
60
+ },
61
+ damAccessKey,
62
+ secretKey,
63
+ subdomain,
64
+ route: APIS.REFRESH_CLIENT_KEYS,
65
+ onSuccess: () => {
66
+ setRefreshLoading(false);
67
+ _antd.notification.success({
68
+ message: "Client key refreshed successfully"
69
+ });
70
+ },
71
+ onFailure: () => {
72
+ setRefreshLoading(false);
73
+ },
74
+ accessToken
75
+ });
76
+ };
77
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, loading ? /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "dam-loading"
79
+ }, /*#__PURE__*/_react.default.createElement(_antd.Spin, null)) : /*#__PURE__*/_react.default.createElement(_antd.Button, {
80
+ type: "primary",
81
+ onClick: () => onRefreshKey(),
82
+ loading: refreshLoading
83
+ }, "Refresh Key"));
84
+ };
85
+ var _default = RefreshKey;
86
+ exports.default = _default;