@emailmaker/filemanager 0.10.1 → 0.10.3

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.
@@ -11,7 +11,7 @@ export interface UseFilesAPIActions {
11
11
  }) => Promise<void>;
12
12
  handleAddFileByUrl: (url?: string | null, noFolder?: boolean) => Promise<AppFile | void>;
13
13
  handleDroppedFiles: (droppedFiles: globalThis.File[]) => Promise<void>;
14
- getFileData: (fileId: string) => Promise<Blob | undefined>;
14
+ getFileData: (file: AppFile) => Promise<Blob | undefined>;
15
15
  uploadFileWithProvider: (file: globalThis.File) => Promise<void>;
16
16
  }
17
17
  export declare const useFilesAPI: () => UseFilesAPIActions;
@@ -1,2 +1,5 @@
1
1
  import { File as AppFile, Folder, FilesQueryParams } from '../../../types';
2
- export declare const addSubfoldersToFiles: (files: AppFile[], params: FilesQueryParams, getFolders: (() => Promise<Folder[]>) | undefined) => Promise<AppFile[]>;
2
+ export declare const addSubfoldersToFiles: (files: AppFile[], params: FilesQueryParams, getFolders: ((options?: {
3
+ parentId?: string | null;
4
+ deep?: boolean;
5
+ }) => Promise<Folder[]>) | undefined) => Promise<AppFile[]>;
@@ -7,6 +7,7 @@ export interface UseFoldersState {
7
7
  }
8
8
  export interface UseFoldersActions {
9
9
  fetchFolders: () => Promise<void>;
10
+ fetchChildFolders: (parentId: string | null) => Promise<Folder[]>;
10
11
  handleCreateFolder: () => void;
11
12
  handleModalOk: () => Promise<void>;
12
13
  handleModalCancel: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emailmaker/filemanager",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "main": "./file-manager.js",
5
5
  "module": "./file-manager.esm.js",
6
6
  "types": "./index.d.ts",
package/types.d.ts CHANGED
@@ -16,8 +16,8 @@ export interface ThumbnailFile {
16
16
  export interface File {
17
17
  id: string;
18
18
  name: string;
19
- size: string;
20
- date: string;
19
+ size?: string;
20
+ date?: string;
21
21
  folderId: string;
22
22
  type?: string;
23
23
  url?: string;
@@ -46,6 +46,7 @@ export interface FilesQueryParams {
46
46
  limit?: number;
47
47
  sortBy?: 'name' | 'size' | 'date' | 'type';
48
48
  sortOrder?: 'asc' | 'desc';
49
+ itemType?: 'file' | 'folder' | 'all';
49
50
  }
50
51
  export interface ApiPaginationResponse {
51
52
  page: number;
@@ -124,8 +125,11 @@ export interface FileManagerOptions {
124
125
  notification?: Partial<Omit<NotificationInstance, 'destroy'>>;
125
126
  }
126
127
  export interface FileManagerDataProviders {
127
- getFile: (fileId: string) => Promise<Blob>;
128
- getFolders: () => Promise<Folder[]>;
128
+ getFileData: (file: File) => Promise<Blob>;
129
+ getFolders?: (options?: {
130
+ parentId?: string | null;
131
+ deep?: boolean;
132
+ }) => Promise<Folder[]>;
129
133
  getFiles: (options: {
130
134
  folderId?: string;
131
135
  search?: string;
@@ -133,6 +137,7 @@ export interface FileManagerDataProviders {
133
137
  sortOrder?: SortState['sortOrder'];
134
138
  page?: number;
135
139
  limit?: number;
140
+ itemType?: 'file' | 'folder' | 'all';
136
141
  }) => Promise<{
137
142
  files: File[];
138
143
  pagination?: Partial<ApiPaginationResponse>;
@@ -256,8 +261,14 @@ export interface Config {
256
261
  locale?: string;
257
262
  mode?: 'fileManager' | 'imageCenter' | 'plugin';
258
263
  enabledTabs?: string[];
264
+ features?: {
265
+ enableRenameFolder?: boolean;
266
+ enableRenameFile?: boolean;
267
+ enableUpdateFile?: boolean;
268
+ };
259
269
  dataProcessingMode?: 'server' | 'client' | 'auto';
260
270
  enableClientSideProcessing?: boolean;
271
+ disablePagination?: boolean;
261
272
  staticData?: {
262
273
  files?: File[];
263
274
  folders?: Folder[];
@@ -284,6 +295,10 @@ export interface Config {
284
295
  handleLimitUsageEmitter?: {
285
296
  fire: (args: object) => void;
286
297
  };
298
+ folderTreeLoading?: 'lazy' | 'eager';
299
+ expandAllFoldersOnInit?: boolean;
300
+ /** Запоминать последнюю открытую папку между сессиями */
301
+ rememberLastFolder?: boolean;
287
302
  }
288
303
  export type LibraryMenuKey = typeof MY_FILES | typeof GIF | typeof STOCK_IMAGES | typeof AI | typeof EDITOR;
289
304
  export interface GifItem {
@@ -10,13 +10,17 @@ export declare class JSONDataProvider implements FileManagerDataProviders {
10
10
  loadFromURL: (url: string) => Promise<void>;
11
11
  addFiles: (newFiles: File[]) => void;
12
12
  addFolders: (newFolders: Folder[]) => void;
13
- getFile: (fileId: string) => Promise<Blob>;
14
- getFolders: () => Promise<Folder[]>;
13
+ getFileData: (file: File) => Promise<Blob>;
14
+ getFolders: (options?: {
15
+ parentId?: string | null;
16
+ deep?: boolean;
17
+ }) => Promise<Folder[]>;
15
18
  getFiles: (options?: {
16
19
  folderId?: string;
17
20
  search?: string;
18
21
  sortBy?: "name" | "size" | "date" | "type";
19
22
  sortOrder?: "asc" | "desc";
23
+ itemType?: "file" | "folder" | "all";
20
24
  }) => Promise<{
21
25
  files: File[];
22
26
  total: number;