@bindu-dashing/dam-solution-v2 5.8.13 → 5.8.15
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.
|
@@ -105,6 +105,7 @@ function FolderTree({ currentRootId, expandedKeys, selectedKeys, handleExpand, s
|
|
|
105
105
|
});
|
|
106
106
|
const response = yield api.get(`${FETCH_FOLDER_URL.replace(":folderId", fid)}?isPagination=false&includeFiles=false&includeSubFoldersCount=true&fetchMainFolders=true&globalSearch=${fid == rootFolderId ? globalSearch : ""}`);
|
|
107
107
|
const newFolders = get(response, "data.folders", []);
|
|
108
|
+
console.log('## newFolders', newFolders);
|
|
108
109
|
if (fid === rootFolderId) {
|
|
109
110
|
setFolders(sortFoldersRecursively(newFolders, "name", sortOrder));
|
|
110
111
|
}
|
|
@@ -159,6 +160,7 @@ function FolderTree({ currentRootId, expandedKeys, selectedKeys, handleExpand, s
|
|
|
159
160
|
const toggleEditModal = (folder = {}) => setState((prev) => (Object.assign(Object.assign({}, prev), { selectedFolder: folder, showEditModal: !prev.showEditModal })));
|
|
160
161
|
const toggleDeleteModal = (folder = {}) => setState((prev) => (Object.assign(Object.assign({}, prev), { selectedFolder: folder, showConfirmationModal: !prev.showConfirmationModal })));
|
|
161
162
|
const getFoldersTree = (folders = []) => {
|
|
163
|
+
console.log('## folders', folders);
|
|
162
164
|
const transform = (tree = []) => map(tree, (folder) => {
|
|
163
165
|
const key = get(folder, "_id", "");
|
|
164
166
|
const name = get(folder, "name", "");
|
|
@@ -319,6 +321,7 @@ function FolderTree({ currentRootId, expandedKeys, selectedKeys, handleExpand, s
|
|
|
319
321
|
return Object.assign(Object.assign({}, prevState), { tempFolders: cloneDeep(customSorted), sortMode: "custom", enableDrag: false });
|
|
320
322
|
});
|
|
321
323
|
};
|
|
324
|
+
console.log('## folders in FolderTree', tempFolders, folders);
|
|
322
325
|
return (_jsxs(_Fragment, { children: [!screens.md && collapse && (_jsxs("div", { className: `md-lib-bg-textColorActive dark:md-lib-bg-darkSecondaryColor md-lib-p-1 md-lib-rounded md-lib-absolute md-lib-top-16 md-lib-left-1`, children: [" ", _jsx(FaAngleRightbtn, { size: 24, className: "md-lib-text-textColor dark:md-lib-text-darkTextColor", onClick: toggleMenu })] })), _jsxs("div", { className: `md-lib-border-r md-lib-inline-table md-lib-border-borderColor dark:md-lib-border-darkBorderColor md-lib-bg-white dark:md-lib-bg-darkPrimaryHoverColor md-lib-px-2 md-lib-pt-1 md-lib-max-h-[calc(100%-76px)] md-lib-overflow-x-auto ${!screens.md &&
|
|
323
326
|
"md-lib-absolute md-lib-left-0 md-lib-z-30 md-lib-h-full"} ${!screens.md && collapse && "!-md-lib-left-full"}`, children: [!screens.md && !collapse && (_jsxs("div", { className: `md-lib-bg-textColorActive dark:md-lib-bg-darkSecondaryColor md-lib-p-1 md-lib-rounded md-lib-absolute md-lib-top-1 md-lib-right-1 md-lib-z-50`, children: [" ", _jsx(FaAngleLeftbtn, { size: 24, className: "md-lib-text-textColor dark:md-lib-text-darkTextColor", onClick: toggleMenu })] })), _jsx("div", { className: "md-lib-mb-2", children: _jsx(Input, { placeholder: "Search files (min. 2 characters required)", onChange: (e) => setState((prevState) => {
|
|
324
327
|
return Object.assign(Object.assign({}, prevState), { globalSearchValue: e.target.value });
|
|
@@ -7,23 +7,19 @@ import DriveContainer from "./DriveContainer";
|
|
|
7
7
|
import useAppParams from "../utilities/useAppParams";
|
|
8
8
|
import { FoldersProvider } from "../utilities/FoldersContext";
|
|
9
9
|
export default function MyDriveMainContainer({ folders, setFolders }) {
|
|
10
|
-
console.log('## MyDriveMainContainer props', folders, setFolders);
|
|
11
10
|
const damConfig = useDamConfig();
|
|
12
11
|
const { rootFolderId, brand, isAdmin } = damConfig;
|
|
13
12
|
const params = useAppParams();
|
|
14
|
-
console.log('## all
|
|
13
|
+
console.log('## all params from useAppParams', params);
|
|
15
14
|
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
16
15
|
const [expandedKeys, setExpandedKeys] = useState([]);
|
|
17
16
|
const [globalSearch, setGlobalSearch] = useState("");
|
|
18
17
|
useEffect(() => {
|
|
18
|
+
// Priority: URL params > Props from ParamsProvider > rootFolderId from config
|
|
19
19
|
if (params === null || params === void 0 ? void 0 : params.folderId) {
|
|
20
20
|
setSelectedKeys(params.folderId);
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
// If no URL param but rootFolderId is set (from props), use it
|
|
24
|
-
setSelectedKeys(rootFolderId);
|
|
25
|
-
}
|
|
26
|
-
}, [params === null || params === void 0 ? void 0 : params.folderId, rootFolderId]);
|
|
22
|
+
}, [params === null || params === void 0 ? void 0 : params.folderId, params === null || params === void 0 ? void 0 : params.id, params === null || params === void 0 ? void 0 : params.parentId, rootFolderId]);
|
|
27
23
|
const currentRootId = isArray(selectedKeys)
|
|
28
24
|
? selectedKeys.length
|
|
29
25
|
? selectedKeys[selectedKeys.length - 1]
|
package/build/MyDrive/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { useMemo, useState } from "react";
|
|
|
9
9
|
import process from "process";
|
|
10
10
|
import { ParamsProvider } from "../utilities/useAppParams";
|
|
11
11
|
function App(props) {
|
|
12
|
+
var _a;
|
|
12
13
|
console.log('## receiver props', props);
|
|
13
14
|
const config = useMemo(() => ({
|
|
14
15
|
damAccessKey: props === null || props === void 0 ? void 0 : props.accessKey,
|
|
@@ -17,7 +18,11 @@ function App(props) {
|
|
|
17
18
|
teamIds: props === null || props === void 0 ? void 0 : props.teamIds,
|
|
18
19
|
styles: props === null || props === void 0 ? void 0 : props.styles,
|
|
19
20
|
appType: props === null || props === void 0 ? void 0 : props.appType,
|
|
20
|
-
|
|
21
|
+
folderId: props === null || props === void 0 ? void 0 : props.folderId,
|
|
22
|
+
id: props === null || props === void 0 ? void 0 : props.id,
|
|
23
|
+
parentId: props === null || props === void 0 ? void 0 : props.parentId,
|
|
24
|
+
showSubfolders: props === null || props === void 0 ? void 0 : props.showSubfolders,
|
|
25
|
+
routerVersion: props === null || props === void 0 ? void 0 : props.routerVersion,
|
|
21
26
|
}), [
|
|
22
27
|
props === null || props === void 0 ? void 0 : props.accessKey,
|
|
23
28
|
props === null || props === void 0 ? void 0 : props.secretKey,
|
|
@@ -29,11 +34,18 @@ function App(props) {
|
|
|
29
34
|
props === null || props === void 0 ? void 0 : props.folderId,
|
|
30
35
|
props === null || props === void 0 ? void 0 : props.id,
|
|
31
36
|
props === null || props === void 0 ? void 0 : props.parentId,
|
|
37
|
+
props === null || props === void 0 ? void 0 : props.showSubfolders,
|
|
38
|
+
props === null || props === void 0 ? void 0 : props.routerVersion,
|
|
32
39
|
]);
|
|
33
40
|
const [folders, setFolders] = useState([]);
|
|
34
41
|
if (typeof window !== "undefined" && !window.process) {
|
|
35
42
|
window.process = process;
|
|
36
43
|
}
|
|
37
|
-
return (_jsx(AppProvider, { children: _jsx(DamConfigProvider, { config: config, children: _jsxs(ThemeProvider, { styles: props === null || props === void 0 ? void 0 : props.styles, sessionTheme: ThemeModes.LIGHT, children: [_jsxs("div", { className: "md-lib-grid md:md-lib-grid-cols-[auto,1fr] md-lib-h-[inherit]", children: [" ", _jsx(ParamsProvider, {
|
|
44
|
+
return (_jsx(AppProvider, { children: _jsx(DamConfigProvider, { config: config, children: _jsxs(ThemeProvider, { styles: props === null || props === void 0 ? void 0 : props.styles, sessionTheme: ThemeModes.LIGHT, children: [_jsxs("div", { className: "md-lib-grid md:md-lib-grid-cols-[auto,1fr] md-lib-h-[inherit]", children: [" ", _jsx(ParamsProvider, { initialParams: {
|
|
45
|
+
folderId: props === null || props === void 0 ? void 0 : props.folderId,
|
|
46
|
+
id: props === null || props === void 0 ? void 0 : props.id,
|
|
47
|
+
parentId: props === null || props === void 0 ? void 0 : props.parentId,
|
|
48
|
+
showSubfolders: (_a = props === null || props === void 0 ? void 0 : props.showSubfolders) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
49
|
+
}, children: _jsx(AppRoutes, { setFolders: setFolders, folders: folders, routerVersion: (props === null || props === void 0 ? void 0 : props.routerVersion) || 6 }) })] }), _jsx(ToastProvider, {})] }) }) }));
|
|
38
50
|
}
|
|
39
51
|
export default App;
|
|
@@ -19,7 +19,7 @@ import { SUBSCRIPTION_EXPIRED_ERROR_MESSAGE } from "./appConstants";
|
|
|
19
19
|
const DamConfigContext = createContext(null);
|
|
20
20
|
export const DamConfigProvider = ({ children, config }) => {
|
|
21
21
|
// console.log(config);
|
|
22
|
-
const { damAccessKey, secretKey, subdomain, teamIds, appType, initialRootFolderId } = config;
|
|
22
|
+
const { damAccessKey, secretKey, subdomain, teamIds, appType, initialRootFolderId, folderId, id, parentId, showSubfolders, routerVersion } = config;
|
|
23
23
|
const [accessToken, setAccessToken] = useState(null);
|
|
24
24
|
const [user, setDamUser] = useState(null);
|
|
25
25
|
const [brand, setBrand] = useState(null);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
|
|
2
|
+
type ParamsProviderProps = {
|
|
3
3
|
children: React.ReactNode;
|
|
4
|
-
|
|
4
|
+
initialParams?: Record<string, string | undefined>;
|
|
5
|
+
};
|
|
6
|
+
export declare let ParamsProvider: React.FC<ParamsProviderProps>;
|
|
5
7
|
declare let useAppParams: () => Record<string, string>;
|
|
6
8
|
export default useAppParams;
|
|
@@ -1,22 +1,67 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// src/utils/useAppParams.tsx
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
// Declare this always so TS doesn
|
|
4
|
+
// Declare this always so TS doesn't complain
|
|
5
5
|
const ParamsContext = React.createContext({});
|
|
6
|
-
|
|
6
|
+
// Helper to filter out undefined values
|
|
7
|
+
const filterUndefined = (params) => {
|
|
8
|
+
const filtered = {};
|
|
9
|
+
Object.keys(params).forEach((key) => {
|
|
10
|
+
if (params[key] !== undefined) {
|
|
11
|
+
filtered[key] = params[key];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
return filtered;
|
|
15
|
+
};
|
|
16
|
+
// Wrapper component for v6/v5.1+ that merges URL params with initial params
|
|
17
|
+
const ParamsMerger = ({ children, initialParams }) => {
|
|
18
|
+
try {
|
|
19
|
+
const rrd = require("react-router-dom");
|
|
20
|
+
if (rrd.useParams) {
|
|
21
|
+
const urlParams = rrd.useParams();
|
|
22
|
+
const mergedParams = React.useMemo(() => (Object.assign(Object.assign({}, filterUndefined(initialParams)), urlParams)), [urlParams, initialParams]);
|
|
23
|
+
return (_jsx(ParamsContext.Provider, { value: mergedParams, children: children }));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch (_a) {
|
|
27
|
+
// Fallback if useParams not available
|
|
28
|
+
}
|
|
29
|
+
// Fallback: just use initial params (filtered)
|
|
30
|
+
return (_jsx(ParamsContext.Provider, { value: filterUndefined(initialParams), children: children }));
|
|
31
|
+
};
|
|
32
|
+
export let ParamsProvider = ({ children, initialParams = {}, }) => {
|
|
33
|
+
// For v6/v5.1+, use the merger component
|
|
34
|
+
try {
|
|
35
|
+
const rrd = require("react-router-dom");
|
|
36
|
+
if (rrd.useParams) {
|
|
37
|
+
// ✅ v6 or v5.1+ - Use merger component
|
|
38
|
+
return _jsx(ParamsMerger, { initialParams: initialParams, children: children });
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// ✅ v4 fallback
|
|
42
|
+
const { Route } = rrd;
|
|
43
|
+
return (_jsx(Route, { path: "*", render: ({ match }) => {
|
|
44
|
+
const urlParams = match ? match.params : {};
|
|
45
|
+
const mergedParams = Object.assign(Object.assign({}, filterUndefined(initialParams)), urlParams);
|
|
46
|
+
return (_jsx(ParamsContext.Provider, { value: mergedParams, children: children }));
|
|
47
|
+
} }));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (_a) {
|
|
51
|
+
// if require fails for some reason, just use initial params (filtered)
|
|
52
|
+
return (_jsx(ParamsContext.Provider, { value: filterUndefined(initialParams), children: children }));
|
|
53
|
+
}
|
|
54
|
+
};
|
|
7
55
|
let useAppParams;
|
|
8
56
|
// Dynamically detect router version
|
|
9
57
|
try {
|
|
10
58
|
const rrd = require("react-router-dom");
|
|
11
59
|
if (rrd.useParams) {
|
|
12
|
-
// ✅ v6 or v5.1+
|
|
13
|
-
|
|
14
|
-
useAppParams = () => useParams();
|
|
60
|
+
// ✅ v6 or v5.1+ - Use context which now has merged params
|
|
61
|
+
useAppParams = () => React.useContext(ParamsContext);
|
|
15
62
|
}
|
|
16
63
|
else {
|
|
17
|
-
// ✅ v4 fallback
|
|
18
|
-
const { Route } = rrd;
|
|
19
|
-
ParamsProvider = ({ children }) => (_jsx(Route, { path: "*", render: ({ match }) => (_jsx(ParamsContext.Provider, { value: match ? match.params : {}, children: children })) }));
|
|
64
|
+
// ✅ v4 fallback - Use context
|
|
20
65
|
useAppParams = () => React.useContext(ParamsContext);
|
|
21
66
|
}
|
|
22
67
|
}
|