@scaleflex/widget-explorer 0.1.2 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.2.1](https://code.scaleflex.cloud/scaleflex/widget/compare/v0.2.0...v0.2.1) (2025-08-06)
7
+
8
+ **Note:** Version bump only for package @scaleflex/widget-explorer
9
+
10
+
11
+
12
+
13
+
14
+ # [0.2.0](https://code.scaleflex.cloud/scaleflex/widget/compare/v0.1.2...v0.2.0) (2025-08-05)
15
+
16
+
17
+ ### Features
18
+
19
+ * implement the recursive remote upload for 3rd parties [FRA-1343] ([4db5cba](https://code.scaleflex.cloud/scaleflex/widget/commits/4db5cba125d155b1d1ab6cdbc68c28ae07d78f4c))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [0.1.2](https://code.scaleflex.cloud/scaleflex/widget/compare/v0.1.1...v0.1.2) (2025-07-30)
7
26
 
8
27
  **Note:** Version bump only for package @scaleflex/widget-explorer
package/README.md CHANGED
@@ -804,14 +804,6 @@ Defines additional crop types & presets besides the freehand one and their prese
804
804
 
805
805
  > NOTE: The object's keys will be used the label for crop type (it is possible to be label string or i18n key string that is provided through locale object)
806
806
 
807
- ### `showRemoveBackgroundOption`
808
-
809
- <u>Type:</u> `boolean`.
810
-
811
- <u>Default:</u> `true`
812
-
813
- Remove background option will appear in context menu.
814
-
815
807
  ### `disableMultipleSelect`
816
808
 
817
809
  <u>Type:</u> `boolean`.
@@ -58,8 +58,7 @@ var DownloadWithExportButton = function DownloadWithExportButton() {
58
58
  var hideTransformation = isFolderSelected || !!unsupportedExportReason || hideDownloadVariationsOption;
59
59
  var tooltipTitle = i18n(unsupportedExportReason);
60
60
  var showDownloadButtonArrow = !disableDownloadButton && !isWidgetSmallSize && !useAssetsPicker;
61
- var isPreventedByDefaultBehavior = preventDownloadDefaultBehavior;
62
- var downloadButtonVisible = !isPreventedByDefaultBehavior;
61
+ var downloadButtonVisible = !preventDownloadDefaultBehavior;
63
62
  var downloadButtonDisabled = !checkUserPermissions([PERMISSIONS.DISPLAY]) || !checkFileFolderPermissions({
64
63
  permissionsToCheck: [PERMISSIONS.DISPLAY],
65
64
  permissionsList: firstItem === null || firstItem === void 0 ? void 0 : firstItem.permissions
@@ -33,13 +33,8 @@ var AddFiles = function AddFiles() {
33
33
  container = _useCore$opts.container,
34
34
  sassKey = _useCore$opts.sassKey;
35
35
  var isDraggingOver = useSelector(selectIsDraggingOver);
36
- var _useAssetsPicker = useAssetsPicker({
37
- securityTemplateId: securityTemplateId,
38
- container: container,
39
- sassKey: sassKey,
40
- theme: theme
41
- }),
42
- openAssetPicker = _useAssetsPicker.openAssetPicker;
36
+ var _useAssetsPicker = useAssetsPicker(),
37
+ openAssetsPicker = _useAssetsPicker.openAssetsPicker;
43
38
  var maxNumberOfFiles = restrictions.maxNumberOfFiles,
44
39
  allowedFileTypes = restrictions.allowedFileTypes;
45
40
  var note = explorerOpts.note,
@@ -105,9 +100,13 @@ var AddFiles = function AddFiles() {
105
100
  // no extra logic needed except showing the button and pass the onImport function, no upload will occur
106
101
  var renderDamAcquirer = function renderDamAcquirer() {
107
102
  var importFromDam = function importFromDam() {
108
- openAssetPicker({
103
+ openAssetsPicker({
109
104
  onImport: onImportFromDam,
110
- hideUploadButton: true
105
+ hideUploadButton: true,
106
+ securityTemplateId: securityTemplateId,
107
+ container: container,
108
+ sassKey: sassKey,
109
+ theme: theme
111
110
  });
112
111
  };
113
112
  return /*#__PURE__*/_jsx(Styled.AcquirerButtons, {
@@ -7,7 +7,8 @@ var ActionButtons = function ActionButtons(_ref) {
7
7
  zoomRatio = _ref.zoomRatio,
8
8
  setZoomRatio = _ref.setZoomRatio,
9
9
  setIsFileTabsHidden = _ref.setIsFileTabsHidden,
10
- isFileTabsHidden = _ref.isFileTabsHidden;
10
+ isFileTabsHidden = _ref.isFileTabsHidden,
11
+ useAssetsPicker = _ref.useAssetsPicker;
11
12
  var zoomIn = function zoomIn() {
12
13
  var nextZoomRatio = Math.min(zoomRatio + BTN_ZOOM_RATIO_PERCENTAGE, MAX_ZOOM_RATIO);
13
14
  setZoomRatio(nextZoomRatio);
@@ -52,7 +53,7 @@ var ActionButtons = function ActionButtons(_ref) {
52
53
  children: /*#__PURE__*/_jsx(Styled.PlusOutline, {})
53
54
  })
54
55
  })]
55
- }), /*#__PURE__*/_jsx(Styled.FooterActionBtn, {
56
+ }), useAssetsPicker ? /*#__PURE__*/_jsx("span", {}) : /*#__PURE__*/_jsx(Styled.FooterActionBtn, {
56
57
  size: "lg",
57
58
  color: "basic",
58
59
  isVisible: isImageOrPdf,
@@ -16,7 +16,8 @@ var Footer = function Footer(_ref) {
16
16
  isImageFile = _ref.isImageFile,
17
17
  isAudioFileAndSupportsPlayback = _ref.isAudioFileAndSupportsPlayback,
18
18
  setIsFileTabsHidden = _ref.setIsFileTabsHidden,
19
- isFileTabsHidden = _ref.isFileTabsHidden;
19
+ isFileTabsHidden = _ref.isFileTabsHidden,
20
+ useAssetsPicker = _ref.useAssetsPicker;
20
21
  var _useExplorer = useExplorer(),
21
22
  isDevEnv = _useExplorer.isDevEnv;
22
23
  var mediaPlayerPlugin = usePlugin(PLUGINS_IDS.MEDIA_PLAYER);
@@ -51,7 +52,8 @@ var Footer = function Footer(_ref) {
51
52
  setZoomRatio: setZoomRatio,
52
53
  isImageOrPdf: hasActionButtons,
53
54
  setIsFileTabsHidden: setIsFileTabsHidden,
54
- isFileTabsHidden: isFileTabsHidden
55
+ isFileTabsHidden: isFileTabsHidden,
56
+ useAssetsPicker: useAssetsPicker
55
57
  })
56
58
  });
57
59
  };
@@ -29,7 +29,8 @@ var FileWindowBody = function FileWindowBody(_ref) {
29
29
  isVariantsOpened = _ref.isVariantsOpened,
30
30
  setIsVariantsOpened = _ref.setIsVariantsOpened,
31
31
  setIsFileTabsHidden = _ref.setIsFileTabsHidden,
32
- isFileTabsHidden = _ref.isFileTabsHidden;
32
+ isFileTabsHidden = _ref.isFileTabsHidden,
33
+ useAssetsPicker = _ref.useAssetsPicker;
33
34
  var _useState = useState(DEFAULT_ZOOM_RATIO),
34
35
  _useState2 = _slicedToArray(_useState, 2),
35
36
  zoomRatio = _useState2[0],
@@ -99,7 +100,8 @@ var FileWindowBody = function FileWindowBody(_ref) {
99
100
  isVariantsOpened: isVariantsOpened,
100
101
  setIsVariantsOpened: setIsVariantsOpened,
101
102
  setIsFileTabsHidden: setIsFileTabsHidden,
102
- isFileTabsHidden: isFileTabsHidden
103
+ isFileTabsHidden: isFileTabsHidden,
104
+ useAssetsPicker: useAssetsPicker
103
105
  })]
104
106
  });
105
107
  };
@@ -73,13 +73,8 @@ var CustomMetadataSection = function CustomMetadataSection(_ref) {
73
73
  securityTemplateId = _useCore$opts.securityTemplateId,
74
74
  container = _useCore$opts.container,
75
75
  sassKey = _useCore$opts.sassKey;
76
- var _useAssetsPicker = useAssetsPicker({
77
- securityTemplateId: securityTemplateId,
78
- container: container,
79
- sassKey: sassKey,
80
- theme: theme
81
- }),
82
- openAssetPicker = _useAssetsPicker.openAssetPicker;
76
+ var _useAssetsPicker = useAssetsPicker(),
77
+ openAssetsPicker = _useAssetsPicker.openAssetsPicker;
83
78
  var _useExplorer = useExplorer(),
84
79
  info = _useExplorer.info,
85
80
  i18nArray = _useExplorer.i18nArray;
@@ -93,6 +88,17 @@ var CustomMetadataSection = function CustomMetadataSection(_ref) {
93
88
  var isAttachmentsField = function isAttachmentsField(field) {
94
89
  return field.type === ATTACHMENTS_ASSETS;
95
90
  };
91
+ var triggerAssetsPicker = function triggerAssetsPicker() {
92
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
93
+ args[_key] = arguments[_key];
94
+ }
95
+ return openAssetsPicker(_objectSpread({
96
+ securityTemplateId: securityTemplateId,
97
+ container: container,
98
+ sassKey: sassKey,
99
+ theme: theme
100
+ }, args));
101
+ };
96
102
  var copyFileLink = function copyFileLink(fileToCopy) {
97
103
  dispatch(copyFileCdnLink(fileToCopy));
98
104
  };
@@ -140,7 +146,7 @@ var CustomMetadataSection = function CustomMetadataSection(_ref) {
140
146
  onChange: onChange,
141
147
  editedDetails: editedDetails,
142
148
  meta: meta,
143
- openAssetPicker: openAssetPicker,
149
+ openAssetsPicker: triggerAssetsPicker,
144
150
  info: info,
145
151
  originalFile: file,
146
152
  locateFile: locateFile,
@@ -168,7 +168,8 @@ var FileWindow = function FileWindow(_ref) {
168
168
  isVariantsOpened: isVariantsOpened,
169
169
  setIsVariantsOpened: setIsVariantsOpened,
170
170
  isFileTabsHidden: isFileTabsHidden,
171
- setIsFileTabsHidden: setIsFileTabsHidden
171
+ setIsFileTabsHidden: setIsFileTabsHidden,
172
+ useAssetsPicker: useAssetsPicker
172
173
  };
173
174
  if (useAssetsPicker || isFileTabsHidden) {
174
175
  return /*#__PURE__*/_jsxs(StyledFileWindow.Wrapper, {
@@ -32,6 +32,10 @@ var PickerPanelContent = function PickerPanelContent(_ref) {
32
32
  var addPanelSelection = function addPanelSelection() {
33
33
  return pluginOfThePanel === null || pluginOfThePanel === void 0 ? void 0 : pluginOfThePanel.addSelectedItems();
34
34
  };
35
+ var renderPanelUploadActionButtons = function renderPanelUploadActionButtons() {
36
+ var _pluginOfThePanel$vie, _pluginOfThePanel$vie2;
37
+ return pluginOfThePanel === null || pluginOfThePanel === void 0 ? void 0 : (_pluginOfThePanel$vie = pluginOfThePanel.view) === null || _pluginOfThePanel$vie === void 0 ? void 0 : (_pluginOfThePanel$vie2 = _pluginOfThePanel$vie.renderPanelUploadActionButtons) === null || _pluginOfThePanel$vie2 === void 0 ? void 0 : _pluginOfThePanel$vie2.call(_pluginOfThePanel$vie);
38
+ };
35
39
  var openAddPanelAndCloseOthers = useCallback(function () {
36
40
  dispatch(pickerPanelUpdated({
37
41
  pickerPanel: false
@@ -88,7 +92,8 @@ var PickerPanelContent = function PickerPanelContent(_ref) {
88
92
  panelGetPrevFolder: panelGetPrevFolder,
89
93
  onCancelClick: openAddPanelAndCloseOthers,
90
94
  panelAuthenticated: panelAuthenticated && !hideActionButtons,
91
- panelLoading: panelLoading
95
+ panelLoading: panelLoading,
96
+ renderPanelUploadActionButtons: renderPanelUploadActionButtons
92
97
  })]
93
98
  });
94
99
  };
@@ -30,7 +30,8 @@ var UploadBar = function UploadBar(_ref) {
30
30
  panelGetPrevFolder = _ref.panelGetPrevFolder,
31
31
  panelAuthenticated = _ref.panelAuthenticated,
32
32
  panelLoading = _ref.panelLoading,
33
- onCancelClick = _ref.onCancelClick;
33
+ onCancelClick = _ref.onCancelClick,
34
+ renderPanelUploadActionButtons = _ref.renderPanelUploadActionButtons;
34
35
  var dispatch = useDispatch();
35
36
  var _useCore = useCore(),
36
37
  restrictions = _useCore.opts.restrictions;
@@ -196,7 +197,7 @@ var UploadBar = function UploadBar(_ref) {
196
197
  "aria-label": "Modal actions",
197
198
  className: "filerobot-Explorer-uploadBar",
198
199
  children: [/*#__PURE__*/_jsxs(Styled.ActionWrapper, {
199
- children: [/*#__PURE__*/_jsx(Styled.ActionButton, {
200
+ children: [renderPanelUploadActionButtons === null || renderPanelUploadActionButtons === void 0 ? void 0 : renderPanelUploadActionButtons(), /*#__PURE__*/_jsx(Styled.ActionButton, {
200
201
  className: "filerobot-Explorer-cancel",
201
202
  size: "lg",
202
203
  color: "basic",
@@ -1349,5 +1349,6 @@ export default {
1349
1349
  galleryRoleSelectorStandardTabLabel: 'Standard',
1350
1350
  galleryRoleSelectorCustomTabLabel: 'Custom',
1351
1351
  galleryRoleSelectorLessRolePermsTooltip: 'This role has less permissions than the default access',
1352
- explorerGridFileOptionsOverlaySelectBtn: 'Select'
1352
+ explorerGridFileOptionsOverlaySelectBtn: 'Select',
1353
+ explorer3rdPartyUploadIncludeSubFolders: 'Include subfolders'
1353
1354
  };
@@ -11,6 +11,6 @@ export { default as useLocateFile } from './useLocateFile';
11
11
  export { default as useEditFileDetails } from './useEditFileDetails';
12
12
  export { default as useFileMetadata } from './useFileMetadata';
13
13
  export { default as useFilterSearch } from './useFilterSearch';
14
- export { default as useAssetsPicker } from './useAssetPicker';
14
+ export { default as useAssetsPicker } from './useAssetsPicker';
15
15
  export { default as useForcedFilters } from './useForcedFilters';
16
16
  export { default as useFetchFileFolderPermissions } from './useFetchFileFolderPermissions';
@@ -1,10 +1,5 @@
1
+ var _excluded = ["securityTemplateId", "container", "sassKey", "theme", "language", "onImport", "multiSelect", "maxCountOfSelectedFiles", "mutedFilesUuids", "hideUploadButton", "forceFilters", "rootFolderPath", "views", "allowedUploadFileTypes", "onClickUploadButton", "acquirers", "assetsPickerModelTitle", "pluginsToUse", "moreCoreConfig", "moreExplorerConfig", "moreXhrUploadConfig", "moreProgressPanelConfig", "onOpen", "onClose"];
1
2
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["onImport", "multiSelect", "maxCountOfSelectedFiles", "mutedFilesUuids", "hideUploadButton", "forceFilters", "rootFolderPath", "views", "allowedUploadFileTypes", "onClickUploadButton", "acquirers", "assetsPickerModelTitle", "pluginsToUse"];
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
3
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
9
4
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
10
5
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
@@ -13,9 +8,15 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
13
8
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
10
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
16
  import { useRef } from 'react';
17
17
  import Filerobot from '@scaleflex/widget-core';
18
18
  import { VIEW_IDS, PLUGINS_IDS } from '@scaleflex/widget-utils/lib/constants';
19
+ import isFunction from '@scaleflex/widget-utils/lib/isFunction';
19
20
  import Explorer from '../index';
20
21
  import ExploreViewComponent from '../components/ExploreView';
21
22
 
@@ -39,22 +40,27 @@ var getConfigs = function getConfigs(_ref) {
39
40
  allowedUploadFileTypes = _ref.allowedUploadFileTypes,
40
41
  onClickUploadButton = _ref.onClickUploadButton,
41
42
  _ref$assetsPickerMode = _ref.assetsPickerModelTitle,
42
- assetsPickerModelTitle = _ref$assetsPickerMode === void 0 ? 'explorerTopSectionImportFileTitle' : _ref$assetsPickerMode;
43
+ assetsPickerModelTitle = _ref$assetsPickerMode === void 0 ? 'explorerTopSectionImportFileTitle' : _ref$assetsPickerMode,
44
+ _ref$moreCoreConfig = _ref.moreCoreConfig,
45
+ moreCoreConfig = _ref$moreCoreConfig === void 0 ? {} : _ref$moreCoreConfig,
46
+ _ref$moreExplorerConf = _ref.moreExplorerConfig,
47
+ moreExplorerConfig = _ref$moreExplorerConf === void 0 ? {} : _ref$moreExplorerConf,
48
+ language = _ref.language;
43
49
  return {
44
- core: {
50
+ core: _objectSpread({
45
51
  container: container,
46
52
  securityTemplateId: securityTemplateId,
47
53
  sassKey: sassKey,
48
54
  theme: theme,
55
+ language: language,
49
56
  restrictions: {
50
57
  allowedFileTypes: allowedUploadFileTypes
51
58
  }
52
- },
53
- explorer: {
59
+ }, moreCoreConfig),
60
+ explorer: _objectSpread({
54
61
  hideUploadButton: hideUploadButton,
55
62
  forceFilters: forceFilters,
56
63
  view: VIEW_IDS.ASSETS,
57
- showRemoveBackgroundOption: false,
58
64
  width: '90vw',
59
65
  height: '90vh',
60
66
  target: null,
@@ -72,78 +78,93 @@ var getConfigs = function getConfigs(_ref) {
72
78
  disableMultipleSelect: !multiSelect,
73
79
  maxCountOfSelectedFiles: maxCountOfSelectedFiles,
74
80
  mutedFilesUuids: mutedFilesUuids,
75
- preventDownloadDefaultBehavior: true,
76
81
  config: {
77
82
  rootFolderPath: rootFolderPath
78
83
  },
79
84
  views: views,
80
85
  onClickUploadButton: onClickUploadButton,
81
86
  ExploreViewComponent: ExploreViewComponent
82
- }
87
+ }, moreExplorerConfig)
83
88
  };
84
89
  };
85
- var useAssetsPicker = function useAssetsPicker(_ref2) {
86
- var securityTemplateId = _ref2.securityTemplateId,
87
- container = _ref2.container,
88
- sassKey = _ref2.sassKey,
89
- theme = _ref2.theme;
90
+ var useAssetsPicker = function useAssetsPicker() {
90
91
  var filerobotInstance = useRef(null);
91
92
  var getExplorerPlugin = function getExplorerPlugin(filerobot) {
92
- var _ref3;
93
- return (_ref3 = filerobot !== null && filerobot !== void 0 ? filerobot : filerobotInstance.current) === null || _ref3 === void 0 ? void 0 : _ref3.getPlugin(PLUGINS_IDS.EXPLORER);
93
+ var _ref2;
94
+ return (_ref2 = filerobot !== null && filerobot !== void 0 ? filerobot : filerobotInstance.current) === null || _ref2 === void 0 ? void 0 : _ref2.getPlugin(PLUGINS_IDS.EXPLORER);
94
95
  };
95
- var closeAssetsPicker = function closeAssetsPicker() {
96
- var _getExplorerPlugin;
96
+ var closeAssetsPicker = function closeAssetsPicker(onCloseCbk) {
97
+ var _getExplorerPlugin, _filerobotInstance$cu, _filerobotInstance$cu2;
97
98
  (_getExplorerPlugin = getExplorerPlugin()) === null || _getExplorerPlugin === void 0 ? void 0 : _getExplorerPlugin.closeModal();
98
- if (filerobotInstance.current) {
99
- filerobotInstance.current.close();
100
- }
99
+ (_filerobotInstance$cu = filerobotInstance.current) === null || _filerobotInstance$cu === void 0 ? void 0 : (_filerobotInstance$cu2 = _filerobotInstance$cu.close) === null || _filerobotInstance$cu2 === void 0 ? void 0 : _filerobotInstance$cu2.call(_filerobotInstance$cu);
101
100
  filerobotInstance.current = null;
101
+ onCloseCbk === null || onCloseCbk === void 0 ? void 0 : onCloseCbk();
102
102
  };
103
- var onFileAdd = function onFileAdd(_ref4) {
104
- var nextFiles = _ref4.nextFiles,
105
- onImport = _ref4.onImport;
103
+ var onFileAdd = function onFileAdd(_ref3) {
104
+ var nextFiles = _ref3.nextFiles,
105
+ onImport = _ref3.onImport,
106
+ onCloseCbk = _ref3.onCloseCbk;
106
107
  if (!onImport) return;
107
108
  onImport(nextFiles);
108
- closeAssetsPicker();
109
+ closeAssetsPicker(onCloseCbk);
109
110
  };
110
- var handleExport = function handleExport(_ref5) {
111
- var files = _ref5.files,
112
- onImport = _ref5.onImport,
113
- multiSelect = _ref5.multiSelect;
111
+ var handleExport = function handleExport(_ref4) {
112
+ var files = _ref4.files,
113
+ onImport = _ref4.onImport,
114
+ multiSelect = _ref4.multiSelect,
115
+ onCloseCbk = _ref4.onCloseCbk;
114
116
  var _files = _slicedToArray(files, 1),
115
117
  file = _files[0].file;
116
118
  var nextFiles = multiSelect ? files : file;
117
119
  onFileAdd({
118
120
  nextFiles: nextFiles,
119
- onImport: onImport
121
+ onImport: onImport,
122
+ onCloseCbk: onCloseCbk
120
123
  });
121
124
  };
122
- var openAssetPicker = async function openAssetPicker() {
123
- var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
124
- onImport = _ref6.onImport,
125
- multiSelect = _ref6.multiSelect,
126
- maxCountOfSelectedFiles = _ref6.maxCountOfSelectedFiles,
127
- _ref6$mutedFilesUuids = _ref6.mutedFilesUuids,
128
- mutedFilesUuids = _ref6$mutedFilesUuids === void 0 ? [] : _ref6$mutedFilesUuids,
129
- _ref6$hideUploadButto = _ref6.hideUploadButton,
130
- hideUploadButton = _ref6$hideUploadButto === void 0 ? false : _ref6$hideUploadButto,
131
- _ref6$forceFilters = _ref6.forceFilters,
132
- forceFilters = _ref6$forceFilters === void 0 ? false : _ref6$forceFilters,
133
- _ref6$rootFolderPath = _ref6.rootFolderPath,
134
- rootFolderPath = _ref6$rootFolderPath === void 0 ? '/' : _ref6$rootFolderPath,
135
- _ref6$views = _ref6.views,
136
- views = _ref6$views === void 0 ? DEFAULT_VIEWS : _ref6$views,
137
- _ref6$allowedUploadFi = _ref6.allowedUploadFileTypes,
138
- allowedUploadFileTypes = _ref6$allowedUploadFi === void 0 ? null : _ref6$allowedUploadFi,
139
- onClickUploadButton = _ref6.onClickUploadButton,
140
- _ref6$acquirers = _ref6.acquirers,
141
- acquirers = _ref6$acquirers === void 0 ? [] : _ref6$acquirers,
142
- assetsPickerModelTitle = _ref6.assetsPickerModelTitle,
143
- _ref6$pluginsToUse = _ref6.pluginsToUse,
144
- pluginsToUse = _ref6$pluginsToUse === void 0 ? [] : _ref6$pluginsToUse,
145
- rest = _objectWithoutProperties(_ref6, _excluded);
146
- if (!window || filerobotInstance.current) return;
125
+ var openAssetsPicker = function openAssetsPicker() {
126
+ var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
127
+ securityTemplateId = _ref5.securityTemplateId,
128
+ container = _ref5.container,
129
+ sassKey = _ref5.sassKey,
130
+ theme = _ref5.theme,
131
+ language = _ref5.language,
132
+ onImport = _ref5.onImport,
133
+ multiSelect = _ref5.multiSelect,
134
+ maxCountOfSelectedFiles = _ref5.maxCountOfSelectedFiles,
135
+ _ref5$mutedFilesUuids = _ref5.mutedFilesUuids,
136
+ mutedFilesUuids = _ref5$mutedFilesUuids === void 0 ? [] : _ref5$mutedFilesUuids,
137
+ _ref5$hideUploadButto = _ref5.hideUploadButton,
138
+ hideUploadButton = _ref5$hideUploadButto === void 0 ? false : _ref5$hideUploadButto,
139
+ _ref5$forceFilters = _ref5.forceFilters,
140
+ forceFilters = _ref5$forceFilters === void 0 ? false : _ref5$forceFilters,
141
+ _ref5$rootFolderPath = _ref5.rootFolderPath,
142
+ rootFolderPath = _ref5$rootFolderPath === void 0 ? '/' : _ref5$rootFolderPath,
143
+ _ref5$views = _ref5.views,
144
+ views = _ref5$views === void 0 ? DEFAULT_VIEWS : _ref5$views,
145
+ _ref5$allowedUploadFi = _ref5.allowedUploadFileTypes,
146
+ allowedUploadFileTypes = _ref5$allowedUploadFi === void 0 ? null : _ref5$allowedUploadFi,
147
+ onClickUploadButton = _ref5.onClickUploadButton,
148
+ _ref5$acquirers = _ref5.acquirers,
149
+ acquirers = _ref5$acquirers === void 0 ? [] : _ref5$acquirers,
150
+ assetsPickerModelTitle = _ref5.assetsPickerModelTitle,
151
+ _ref5$pluginsToUse = _ref5.pluginsToUse,
152
+ pluginsToUse = _ref5$pluginsToUse === void 0 ? [] : _ref5$pluginsToUse,
153
+ _ref5$moreCoreConfig = _ref5.moreCoreConfig,
154
+ moreCoreConfig = _ref5$moreCoreConfig === void 0 ? {} : _ref5$moreCoreConfig,
155
+ _ref5$moreExplorerCon = _ref5.moreExplorerConfig,
156
+ moreExplorerConfig = _ref5$moreExplorerCon === void 0 ? {} : _ref5$moreExplorerCon,
157
+ _ref5$moreXhrUploadCo = _ref5.moreXhrUploadConfig,
158
+ moreXhrUploadConfig = _ref5$moreXhrUploadCo === void 0 ? {} : _ref5$moreXhrUploadCo,
159
+ _ref5$moreProgressPan = _ref5.moreProgressPanelConfig,
160
+ moreProgressPanelConfig = _ref5$moreProgressPan === void 0 ? {} : _ref5$moreProgressPan,
161
+ onOpen = _ref5.onOpen,
162
+ onClose = _ref5.onClose,
163
+ rest = _objectWithoutProperties(_ref5, _excluded);
164
+ if (!window) return;
165
+ if (filerobotInstance.current) {
166
+ closeAssetsPicker();
167
+ }
147
168
  var _getConfigs = getConfigs(_objectSpread({
148
169
  container: container,
149
170
  securityTemplateId: securityTemplateId,
@@ -158,66 +179,95 @@ var useAssetsPicker = function useAssetsPicker(_ref2) {
158
179
  forceFilters: forceFilters,
159
180
  allowedUploadFileTypes: allowedUploadFileTypes,
160
181
  onClickUploadButton: onClickUploadButton,
161
- assetsPickerModelTitle: assetsPickerModelTitle
182
+ assetsPickerModelTitle: assetsPickerModelTitle,
183
+ moreCoreConfig: moreCoreConfig,
184
+ moreExplorerConfig: moreExplorerConfig,
185
+ language: language
162
186
  }, rest)),
163
187
  core = _getConfigs.core,
164
188
  explorer = _getConfigs.explorer;
165
189
  var filerobot = Filerobot(core);
166
190
  filerobot.use(Explorer, explorer);
167
- pluginsToUse.forEach(function (_ref7) {
168
- var plugin = _ref7.plugin,
169
- _ref7$options = _ref7.options,
170
- options = _ref7$options === void 0 ? {} : _ref7$options;
171
- filerobot.use(plugin, options);
191
+ pluginsToUse.forEach(function (_ref6) {
192
+ var plugin = _ref6.plugin,
193
+ _ref6$config = _ref6.config,
194
+ config = _ref6$config === void 0 ? {} : _ref6$config;
195
+ filerobot.use(plugin, config);
172
196
  });
173
197
  if (!hideUploadButton) {
174
198
  import('@scaleflex/widget-xhr-upload').then(function (module) {
175
199
  var XHRUpload = module["default"];
176
- filerobot.use(XHRUpload);
200
+ filerobot.use(XHRUpload, moreXhrUploadConfig);
177
201
  });
178
202
  import('@scaleflex/widget-progress-panel').then(function (module) {
179
203
  var ProgressPanel = module["default"];
180
- filerobot.use(ProgressPanel);
204
+ filerobot.use(ProgressPanel, moreProgressPanelConfig);
181
205
  });
182
206
  }
183
- if (acquirers.includes(PLUGINS_IDS.URL)) {
207
+ var urlPlugin = acquirers.find(function () {
208
+ var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
209
+ id = _ref7.id;
210
+ return id === PLUGINS_IDS.URL;
211
+ });
212
+ if (urlPlugin) {
184
213
  import('@scaleflex/widget-url').then(function (module) {
185
214
  var Url = module["default"];
186
- filerobot.use(Url);
215
+ filerobot.use(Url, urlPlugin.config);
187
216
  });
188
217
  }
189
- if (acquirers.includes(PLUGINS_IDS.GOOGLE_DRIVE)) {
218
+ var googleDrivePlugin = acquirers.find(function () {
219
+ var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
220
+ id = _ref8.id;
221
+ return id === PLUGINS_IDS.GOOGLE_DRIVE;
222
+ });
223
+ if (googleDrivePlugin) {
190
224
  import('@scaleflex/widget-google-drive').then(function (module) {
191
225
  var GoogleDrive = module["default"];
192
- filerobot.use(GoogleDrive);
226
+ filerobot.use(GoogleDrive, googleDrivePlugin.config);
193
227
  });
194
228
  }
195
- if (acquirers.includes(PLUGINS_IDS.DROPBOX)) {
229
+ var dropboxPlugin = acquirers.find(function () {
230
+ var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
231
+ id = _ref9.id;
232
+ return id === PLUGINS_IDS.DROPBOX;
233
+ });
234
+ if (dropboxPlugin) {
196
235
  import('@scaleflex/widget-dropbox').then(function (module) {
197
236
  var Dropbox = module["default"];
198
- filerobot.use(Dropbox);
237
+ filerobot.use(Dropbox, dropboxPlugin.config);
199
238
  });
200
239
  }
201
- if (acquirers.includes(PLUGINS_IDS.ONE_DRIVE)) {
240
+ var oneDrivePlugin = acquirers.find(function () {
241
+ var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
242
+ id = _ref10.id;
243
+ return id === PLUGINS_IDS.ONE_DRIVE;
244
+ });
245
+ if (oneDrivePlugin) {
202
246
  import('@scaleflex/widget-onedrive').then(function (module) {
203
247
  var OneDrive = module["default"];
204
- filerobot.use(OneDrive);
248
+ filerobot.use(OneDrive, oneDrivePlugin.config);
205
249
  });
206
250
  }
207
251
  filerobot.on('export', function (files) {
208
252
  return handleExport({
209
253
  files: files,
210
254
  onImport: onImport,
211
- multiSelect: multiSelect
255
+ multiSelect: multiSelect,
256
+ onCloseCbk: onClose
212
257
  });
213
258
  });
214
- filerobot.on('explorer:modal-close', closeAssetsPicker);
259
+ filerobot.once('explorer:modal-close', function () {
260
+ return closeAssetsPicker(onClose);
261
+ });
215
262
  filerobotInstance.current = filerobot;
216
263
  getExplorerPlugin(filerobot).openModal();
264
+ if (isFunction(onOpen)) {
265
+ filerobot.once('explorer:modal-open', onOpen);
266
+ }
217
267
  return filerobot;
218
268
  };
219
269
  return {
220
- openAssetPicker: openAssetPicker,
270
+ openAssetsPicker: openAssetsPicker,
221
271
  closeAssetsPicker: closeAssetsPicker
222
272
  };
223
273
  };
package/lib/index.js CHANGED
@@ -1253,7 +1253,6 @@ var Explorer = /*#__PURE__*/function (_Plugin) {
1253
1253
  showBar: true,
1254
1254
  hideDownloadButtonIcon: false,
1255
1255
  hideHeaderBar: false,
1256
- showRemoveBackgroundOption: true,
1257
1256
  hideLeftSideBar: false,
1258
1257
  facetedSearchEnabled: false,
1259
1258
  facetedSearchSidebarExpanded: true,
@@ -88,14 +88,14 @@ var handleUploadError = function handleUploadError(_ref3) {
88
88
  if (_typeof(error) === 'object' && error.message) {
89
89
  var _response$body3;
90
90
  var newError = new Error(error.message);
91
- newError.details = error.message;
91
+ newError.details = error.cause || error.message;
92
92
  if (error.details) {
93
93
  newError.details += ' ' + error.details;
94
94
  }
95
95
  if (response !== null && response !== void 0 && (_response$body3 = response.body) !== null && _response$body3 !== void 0 && _response$body3.msg) {
96
96
  var _response$body4;
97
97
  newError.message = "".concat(file.name, ": ").concat(response === null || response === void 0 ? void 0 : (_response$body4 = response.body) === null || _response$body4 === void 0 ? void 0 : _response$body4.msg);
98
- } else {
98
+ } else if (!newError.message) {
99
99
  newError.message = filerobot.i18n('filerobotFailedToUploadError', {
100
100
  file: file.name
101
101
  });
@@ -1,6 +1,6 @@
1
1
  import toArray from '@scaleflex/widget-utils/lib/toArray';
2
2
  import getActiveOverlayEl from './getActiveOverlayEl';
3
- import FOCUSABLE_ELEMENTS from '@scaleflex/widget-utils/lib//FOCUSABLE_ELEMENTS';
3
+ import FOCUSABLE_ELEMENTS from '@scaleflex/widget-utils/lib/FOCUSABLE_ELEMENTS';
4
4
  function focusOnFirstNode(event, nodes) {
5
5
  var node = nodes[0];
6
6
  if (node) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleflex/widget-explorer",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Scaleflex explorer for the files uploaded on filerobot, handling them & upload new files.",
5
5
  "main": "lib/index.js",
6
6
  "style": "dist/style.min.css",
@@ -18,12 +18,12 @@
18
18
  "@scaleflex/icons": "^3.0.0-beta.11",
19
19
  "@scaleflex/react-url-builder": "^0.0.72",
20
20
  "@scaleflex/ui": "^3.0.0-beta.11",
21
- "@scaleflex/widget-common": "^0.1.2",
22
- "@scaleflex/widget-icons": "^0.1.2",
23
- "@scaleflex/widget-informer": "^0.1.2",
24
- "@scaleflex/widget-provider-views": "^0.1.2",
25
- "@scaleflex/widget-thumbnail-generator": "^0.1.2",
26
- "@scaleflex/widget-utils": "^0.1.2",
21
+ "@scaleflex/widget-common": "^0.2.1",
22
+ "@scaleflex/widget-icons": "^0.2.1",
23
+ "@scaleflex/widget-informer": "^0.2.1",
24
+ "@scaleflex/widget-provider-views": "^0.2.1",
25
+ "@scaleflex/widget-thumbnail-generator": "^0.2.1",
26
+ "@scaleflex/widget-utils": "^0.2.1",
27
27
  "@transloadit/prettier-bytes": "0.1.0",
28
28
  "akamai-filerobot-converter": "^0.1.6",
29
29
  "classnames": "^2.2.6",
@@ -51,5 +51,5 @@
51
51
  "react-konva": ">=19.0.3"
52
52
  },
53
53
  "license": "MIT",
54
- "gitHead": "de62b98bdb3e1dcbb4adaba9f0b4661b1bf1564e"
54
+ "gitHead": "a195e3fe116e2bec65550e5390ae71496eec0d90"
55
55
  }
package/types/index.d.ts CHANGED
@@ -46,7 +46,6 @@ declare module Explorer {
46
46
  height?: number | string;
47
47
  showBar?: boolean;
48
48
  hideDownloadButtonIcon?: boolean;
49
- showRemoveBackgroundOption?: boolean;
50
49
  hideModalAfterExport?: boolean;
51
50
  closeAfterImageEdit?: boolean;
52
51
  showDragDropPanel?: boolean;