@bindu-dashing/dam-solution-v2 5.8.124 → 5.8.127

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.
@@ -1 +1,6 @@
1
- export default function MyDriveMainContainer({ folders, setFolders }: any): JSX.Element;
1
+ import { type FolderTypes } from "../utilities/FoldersContext";
2
+ export default function MyDriveMainContainer({ folders, setFolders, onFolderChange, }: {
3
+ folders: FolderTypes[];
4
+ setFolders: React.Dispatch<React.SetStateAction<FolderTypes[]>>;
5
+ onFolderChange?: (folderId: string) => void;
6
+ }): JSX.Element;
@@ -6,7 +6,7 @@ import { isArray, map } from "lodash";
6
6
  import DriveContainer from "./DriveContainer";
7
7
  import useAppParams from "../utilities/useAppParams";
8
8
  import { FoldersProvider } from "../utilities/FoldersContext";
9
- export default function MyDriveMainContainer({ folders, setFolders }) {
9
+ export default function MyDriveMainContainer({ folders, setFolders, onFolderChange, }) {
10
10
  const damConfig = useDamConfig();
11
11
  const { rootFolderId, brand, isAdmin } = damConfig;
12
12
  const params = useAppParams();
@@ -52,11 +52,11 @@ export default function MyDriveMainContainer({ folders, setFolders }) {
52
52
  };
53
53
  // Wrapper function to handle both string and string[] for setSelectedKeys
54
54
  const handleSetSelectedKeys = (keys) => {
55
- if (typeof keys === 'string') {
56
- setSelectedKeys([keys]);
57
- }
58
- else {
59
- setSelectedKeys(keys);
55
+ const next = typeof keys === "string" ? [keys] : keys;
56
+ setSelectedKeys(next);
57
+ const singleFolderId = Array.isArray(next) && next.length === 1 ? next[0] : null;
58
+ if (singleFolderId && onFolderChange) {
59
+ onFolderChange(singleFolderId);
60
60
  }
61
61
  };
62
62
  return (_jsxs(FoldersProvider, { value: { setFolders, folders, globalSearch }, children: [_jsx(FolderTree, { currentRootId: currentRootId, handleExpand: handleExpand, setSelectedKeys: setSelectedKeys, expandedKeys: expandedKeys, selectedKeys: selectedKeys, folders: folders, setExpandedKeys: setExpandedKeys, setFolders: setFolders, setGlobalSearch: setGlobalSearch, globalSearch: globalSearch }), _jsx("div", { className: "md-lib-h-[inherit] md-lib-overflow-x-auto", children: _jsx(DriveContainer, { parentFolderId: selectedFolderId, globalSearch: globalSearch, setGlobalSearch: setGlobalSearch, setSelectedKeys: handleSetSelectedKeys }) })] }));
@@ -11,5 +11,6 @@ declare function App(props: {
11
11
  parentId?: string;
12
12
  showSubfolders?: boolean;
13
13
  userEmail?: string;
14
+ onFolderChange?: (folderId: string) => void;
14
15
  }): JSX.Element;
15
16
  export default App;
@@ -45,6 +45,6 @@ function App(props) {
45
45
  id: props === null || props === void 0 ? void 0 : props.id,
46
46
  parentId: props === null || props === void 0 ? void 0 : props.parentId,
47
47
  showSubfolders: (_a = props === null || props === void 0 ? void 0 : props.showSubfolders) === null || _a === void 0 ? void 0 : _a.toString(),
48
- }, children: _jsx(AppRoutes, { setFolders: setFolders, folders: folders, routerVersion: (props === null || props === void 0 ? void 0 : props.routerVersion) || 6 }) })] }), _jsx(ToastProvider, {})] }) }) }));
48
+ }, children: _jsx(AppRoutes, { setFolders: setFolders, folders: folders, routerVersion: (props === null || props === void 0 ? void 0 : props.routerVersion) || 6, onFolderChange: props === null || props === void 0 ? void 0 : props.onFolderChange }) })] }), _jsx(ToastProvider, {})] }) }) }));
49
49
  }
50
50
  export default App;
@@ -1,7 +1,10 @@
1
+ import * as React from "react";
2
+ import type { FolderTypes } from "../utilities/FoldersContext";
1
3
  type AppRoutesProps = {
2
- folders: any[];
3
- setFolders: (f: any[]) => void;
4
+ folders: FolderTypes[];
5
+ setFolders: React.Dispatch<React.SetStateAction<FolderTypes[]>>;
4
6
  routerVersion: 4 | 5 | 6;
7
+ onFolderChange?: (folderId: string) => void;
5
8
  };
6
- export default function AppRoutes({ folders, setFolders, routerVersion, }: AppRoutesProps): JSX.Element;
9
+ export default function AppRoutes({ folders, setFolders, routerVersion, onFolderChange, }: AppRoutesProps): JSX.Element;
7
10
  export {};
@@ -2,11 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import ImagePickerDrive from "./ImagePickerDrive";
3
3
  import MyDriveMainContainer from "./MyDriveMainContainer";
4
4
  import useAppParams from "../utilities/useAppParams";
5
- export default function AppRoutes({ folders, setFolders, routerVersion, }) {
5
+ export default function AppRoutes({ folders, setFolders, routerVersion, onFolderChange, }) {
6
6
  const params = useAppParams();
7
7
  const { type, id } = params;
8
8
  if (type && id) {
9
9
  return _jsx(ImagePickerDrive, {});
10
10
  }
11
- return (_jsx(MyDriveMainContainer, { folders: folders, setFolders: setFolders }));
11
+ return (_jsx(MyDriveMainContainer, { folders: folders, setFolders: setFolders, onFolderChange: onFolderChange }));
12
12
  }
@@ -1,4 +1,4 @@
1
- type FolderTypes = {
1
+ export type FolderTypes = {
2
2
  _id: string;
3
3
  name: string;
4
4
  hasSubFolders?: boolean;
@@ -8,8 +8,6 @@ export function useFoldersContext() {
8
8
  }
9
9
  return ctx;
10
10
  }
11
- // Optional refetch for the current folder list (provided by DriveContainer).
12
- // When available, use this after rename/duplicate so the list updates without full refresh.
13
11
  const RefetchFoldersContext = createContext(undefined);
14
12
  export const RefetchFoldersProvider = RefetchFoldersContext.Provider;
15
13
  export function useRefetchFolders() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bindu-dashing/dam-solution-v2",
3
- "version": "5.8.124",
3
+ "version": "5.8.127",
4
4
  "dependencies": {
5
5
  "@ant-design/icons": "^5.0.1",
6
6
  "@emoji-mart/data": "^1.2.1",