ode-explorer 1.4.18-develop-integration.202410021150 → 1.4.18-develop-pedago.202410071739

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 (42) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/index.js +1388 -76626
  3. package/dist/version.txt +1 -1
  4. package/lib/ActionBarContainer.js +172 -166
  5. package/lib/AppAction.js +27 -25
  6. package/lib/DeleteModal.js +6 -4
  7. package/lib/DraggableCard.js +25 -0
  8. package/lib/EmptyScreenApp.js +26 -24
  9. package/lib/ExportModal.js +13 -11
  10. package/lib/FolderModal.js +6 -4
  11. package/lib/FoldersList.js +84 -44
  12. package/lib/Library.js +25 -27
  13. package/lib/MoveModal.js +71 -55
  14. package/lib/ResourcesList.js +96 -73
  15. package/lib/components/Explorer.d.ts +1 -1
  16. package/lib/config/dndkit.d.ts +2 -0
  17. package/lib/config/{getExplorerConfig.d.ts → explorer.d.ts} +5 -1
  18. package/lib/config/index.d.ts +2 -0
  19. package/lib/features/AccessControl/AccessControl.d.ts +1 -1
  20. package/lib/features/ActionBar/Move/useMoveModal.d.ts +3 -4
  21. package/lib/features/ActionBar/useActionBar.d.ts +1 -1
  22. package/lib/features/DndKit/useDndKit.d.ts +7 -0
  23. package/lib/features/List/DraggableCard.d.ts +6 -0
  24. package/lib/features/List/FolderCard.d.ts +6 -2
  25. package/lib/index.d.ts +1 -1
  26. package/lib/index.js +7 -5
  27. package/lib/index2.js +1019 -950
  28. package/lib/providers/index.d.ts +6 -0
  29. package/lib/services/resource/service.d.ts +11 -0
  30. package/lib/store/index.d.ts +87 -33
  31. package/lib/utils/getChildrenIds.d.ts +2 -0
  32. package/package.json +7 -5
  33. package/lib/utils/TreeNodeFolderWrapper.d.ts +0 -12
  34. package/lib/utils/addNode.d.ts +0 -6
  35. package/lib/utils/deleteNode.d.ts +0 -4
  36. package/lib/utils/findNodeById.d.ts +0 -2
  37. package/lib/utils/getAncestors.d.ts +0 -2
  38. package/lib/utils/hasChildren.d.ts +0 -2
  39. package/lib/utils/modifyNode.d.ts +0 -2
  40. package/lib/utils/moveNode.d.ts +0 -5
  41. package/lib/utils/updateNode.d.ts +0 -6
  42. package/lib/utils/wrapTreeNode.d.ts +0 -3
@@ -0,0 +1,6 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+ import { ReactNode } from "react";
3
+ export declare const queryClient: QueryClient;
4
+ export declare const Providers: ({ children }: {
5
+ children: ReactNode;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { BlogUpdate, CreateParameters, CreateResult, ResourceService, ResourceType, UpdateResult } from "edifice-ts-client";
2
+ export declare class BlogResourceService extends ResourceService {
3
+ getEditUrl(): string;
4
+ create(parameters: CreateParameters): Promise<CreateResult>;
5
+ update(parameters: BlogUpdate): Promise<UpdateResult>;
6
+ getResourceType(): ResourceType;
7
+ getApplication(): string;
8
+ getFormUrl(folderId?: string): string;
9
+ getViewUrl(resourceId: string): string;
10
+ getPrintUrl(resourceId: string): string;
11
+ }
@@ -1,100 +1,154 @@
1
- import { type TreeNode } from "@edifice-ui/react";
1
+ import { type TreeData } from "@edifice-ui/react";
2
2
  import { type QueryClient } from "@tanstack/react-query";
3
- import { type ISearchParameters, type IFolder, type IResource, type IActionParameters, type ID } from "edifice-ts-client";
4
- import { AppParams } from '../config/getExplorerConfig';
5
- interface State {
6
- config: AppParams | null;
3
+ import { type IActionParameters, type ID, type IFolder, type IResource, type ISearchParameters } from "edifice-ts-client";
4
+ import { useStore } from "zustand";
5
+ import { AppParams } from '../config';
6
+ export type ExtractState<S> = S extends {
7
+ getState: () => infer T;
8
+ } ? T : never;
9
+ type Params<U> = Parameters<typeof useStore<typeof store, U>>;
10
+ interface ElementDrag {
11
+ isDrag: boolean;
12
+ elementDrag: ID | undefined;
13
+ }
14
+ interface ElementOver {
15
+ isOver: boolean;
16
+ isTreeview: boolean;
17
+ canMove?: boolean;
18
+ overId: ID | undefined;
19
+ }
20
+ type State = {
21
+ config: AppParams | undefined;
7
22
  searchParams: ISearchParameters & IActionParameters;
8
- treeData: TreeNode;
9
- selectedNodesIds: string[];
23
+ treeData: TreeData;
24
+ selectedNodeId: string | undefined;
10
25
  currentFolder: Partial<IFolder>;
11
26
  selectedFolders: IFolder[];
12
27
  selectedResources: IResource[];
13
28
  folderIds: ID[];
14
29
  resourceIds: ID[];
15
30
  resourceIsTrash: boolean;
31
+ resourceOrFolderIsDraggable: ElementDrag;
32
+ elementDragOver: ElementOver;
16
33
  resourceActionDisable: boolean;
17
34
  searchConfig: {
18
35
  minLength: number;
19
36
  };
20
37
  status: string | undefined;
21
- }
38
+ };
22
39
  type Action = {
23
- updaters: {
40
+ actions: {
24
41
  setConfig: (config: AppParams) => void;
25
42
  setSearchConfig: (config: {
26
43
  minLength: number;
27
44
  }) => void;
28
- setTreeData: (treeData: TreeNode) => void;
45
+ setTreeData: (treeData: TreeData) => void;
29
46
  setSearchParams: (searchParams: Partial<ISearchParameters & IActionParameters>) => void;
30
- setCurrentFolder: (folder: Partial<IFolder>) => void;
31
47
  setSelectedFolders: (selectedFolders: IFolder[]) => void;
32
48
  setSelectedResources: (selectedResources: IResource[]) => void;
33
49
  setFolderIds: (folderIds: ID[]) => void;
34
50
  setResourceIds: (resourceIds: ID[]) => void;
35
51
  setResourceIsTrash: (resourceIsTrash: boolean) => void;
52
+ setResourceOrFolderIsDraggable: (resourceOrFolderIsDraggable: ElementDrag) => void;
53
+ setElementDragOver: (elementDragOver: ElementOver) => void;
36
54
  setResourceActionDisable: (resourceActionDisable: boolean) => void;
37
55
  clearSelectedItems: () => void;
38
56
  clearSelectedIds: () => void;
39
57
  openResource: (resource: IResource) => void;
40
58
  printSelectedResource: () => void;
41
- openFolder: ({ folderId, folder, }: {
59
+ openFolder: ({ folderId, folder, queryClient, }: {
42
60
  folderId: ID;
43
61
  folder?: IFolder;
62
+ queryClient?: QueryClient;
44
63
  }) => void;
45
64
  foldTreeItem: (folderId: string) => void;
46
- selectTreeItem: (folderId: string) => void;
47
- unfoldTreeItem: (folderId: string, queryClient: QueryClient) => Promise<void>;
65
+ selectTreeItem: (folderId: string, queryClient: QueryClient) => void;
66
+ fetchTreeData: (folderId: string, queryClient: QueryClient) => Promise<void>;
48
67
  gotoPreviousFolder: () => void;
49
68
  goToTrash: () => void;
50
69
  };
51
70
  };
52
- export declare const useStoreContext: import("zustand").UseBoundStore<import("zustand").StoreApi<State & Action>>;
53
- export declare const useSearchParams: () => ISearchParameters & IActionParameters;
54
- export declare const useSelectedNodesIds: () => string[];
55
- export declare const useTreeData: () => TreeNode;
56
- export declare const useSelectedFolders: () => IFolder[];
57
- export declare const useSelectedResources: () => IResource[];
58
- export declare const useSearchConfig: () => {
59
- minLength: number;
71
+ declare const store: import("zustand").StoreApi<State & Action>;
72
+ export declare function useStoreContext<U>(selector: Params<U>[1]): U;
73
+ export declare const getTreeData: () => TreeData;
74
+ export declare const getStoreActions: () => {
75
+ setConfig: (config: AppParams) => void;
76
+ setSearchConfig: (config: {
77
+ minLength: number;
78
+ }) => void;
79
+ setTreeData: (treeData: TreeData) => void;
80
+ setSearchParams: (searchParams: Partial<ISearchParameters & IActionParameters>) => void;
81
+ setSelectedFolders: (selectedFolders: IFolder[]) => void;
82
+ setSelectedResources: (selectedResources: IResource[]) => void;
83
+ setFolderIds: (folderIds: ID[]) => void;
84
+ setResourceIds: (resourceIds: ID[]) => void;
85
+ setResourceIsTrash: (resourceIsTrash: boolean) => void;
86
+ setResourceOrFolderIsDraggable: (resourceOrFolderIsDraggable: ElementDrag) => void;
87
+ setElementDragOver: (elementDragOver: ElementOver) => void;
88
+ setResourceActionDisable: (resourceActionDisable: boolean) => void;
89
+ clearSelectedItems: () => void;
90
+ clearSelectedIds: () => void;
91
+ openResource: (resource: IResource) => void;
92
+ printSelectedResource: () => void;
93
+ openFolder: ({ folderId, folder, queryClient, }: {
94
+ folderId: ID;
95
+ folder?: IFolder | undefined;
96
+ queryClient?: QueryClient | undefined;
97
+ }) => void;
98
+ foldTreeItem: (folderId: string) => void;
99
+ selectTreeItem: (folderId: string, queryClient: QueryClient) => void;
100
+ fetchTreeData: (folderId: string, queryClient: QueryClient) => Promise<void>;
101
+ gotoPreviousFolder: () => void;
102
+ goToTrash: () => void;
60
103
  };
61
- export declare const useFolderIds: () => string[];
62
- export declare const useResourceIds: () => string[];
63
- export declare const useResourceAssetIds: () => string[];
64
- export declare const useResourceWithoutIds: () => IResource[];
65
- export declare const useCurrentFolder: () => Partial<IFolder>;
104
+ export declare const useTreeData: () => TreeData;
66
105
  export declare const useStoreActions: () => {
67
106
  setConfig: (config: AppParams) => void;
68
107
  setSearchConfig: (config: {
69
108
  minLength: number;
70
109
  }) => void;
71
- setTreeData: (treeData: TreeNode) => void;
110
+ setTreeData: (treeData: TreeData) => void;
72
111
  setSearchParams: (searchParams: Partial<ISearchParameters & IActionParameters>) => void;
73
- setCurrentFolder: (folder: Partial<IFolder>) => void;
74
112
  setSelectedFolders: (selectedFolders: IFolder[]) => void;
75
113
  setSelectedResources: (selectedResources: IResource[]) => void;
76
114
  setFolderIds: (folderIds: ID[]) => void;
77
115
  setResourceIds: (resourceIds: ID[]) => void;
78
116
  setResourceIsTrash: (resourceIsTrash: boolean) => void;
117
+ setResourceOrFolderIsDraggable: (resourceOrFolderIsDraggable: ElementDrag) => void;
118
+ setElementDragOver: (elementDragOver: ElementOver) => void;
79
119
  setResourceActionDisable: (resourceActionDisable: boolean) => void;
80
120
  clearSelectedItems: () => void;
81
121
  clearSelectedIds: () => void;
82
122
  openResource: (resource: IResource) => void;
83
123
  printSelectedResource: () => void;
84
- openFolder: ({ folderId, folder, }: {
124
+ openFolder: ({ folderId, folder, queryClient, }: {
85
125
  folderId: ID;
86
126
  folder?: IFolder | undefined;
127
+ queryClient?: QueryClient | undefined;
87
128
  }) => void;
88
129
  foldTreeItem: (folderId: string) => void;
89
- selectTreeItem: (folderId: string) => void;
90
- unfoldTreeItem: (folderId: string, queryClient: QueryClient) => Promise<void>;
130
+ selectTreeItem: (folderId: string, queryClient: QueryClient) => void;
131
+ fetchTreeData: (folderId: string, queryClient: QueryClient) => Promise<void>;
91
132
  gotoPreviousFolder: () => void;
92
133
  goToTrash: () => void;
93
134
  };
135
+ export declare const useSearchParams: () => ISearchParameters & IActionParameters;
136
+ export declare const useSelectedNodeId: () => string | undefined;
137
+ export declare const useSelectedFolders: () => IFolder[];
138
+ export declare const useSelectedResources: () => IResource[];
139
+ export declare const useSearchConfig: () => {
140
+ minLength: number;
141
+ };
142
+ export declare const useFolderIds: () => string[];
143
+ export declare const useResourceIds: () => string[];
144
+ export declare const useResourceAssetIds: () => string[];
145
+ export declare const useResourceWithoutIds: () => IResource[];
146
+ export declare const useCurrentFolder: () => Partial<IFolder>;
94
147
  export declare const useIsTrash: () => boolean;
95
148
  export declare const useResourceIsTrash: () => boolean;
149
+ export declare const useResourceOrFolderIsDraggable: () => ElementDrag;
150
+ export declare const useElementDragOver: () => ElementOver;
96
151
  export declare const useResourceActionDisable: () => boolean;
97
152
  export declare const useIsRoot: () => boolean;
98
- export declare const useHasSelectedNodes: () => boolean;
99
153
  export declare const useTreeStatus: () => string | undefined;
100
154
  export {};
@@ -0,0 +1,2 @@
1
+ import { TreeData } from "@edifice-ui/react";
2
+ export declare function getChildrenIds(data: TreeData, folderId: string): string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ode-explorer",
3
- "version": "1.4.18-develop-integration.202410021150",
3
+ "version": "1.4.18-develop-pedago.202410071739",
4
4
  "description": "Edifice Explorer",
5
5
  "homepage": "https://github.com/edificeio/explorer#readme",
6
6
  "bugs": {
@@ -36,8 +36,10 @@
36
36
  ]
37
37
  },
38
38
  "dependencies": {
39
- "@edifice-ui/icons": "develop-integration",
40
- "@edifice-ui/react": "develop-integration",
39
+ "@dnd-kit/core": "6.1.0",
40
+ "@dnd-kit/modifiers": "7.0.0",
41
+ "@edifice-ui/icons": "develop-pedago",
42
+ "@edifice-ui/react": "develop-pedago",
41
43
  "@react-spring/web": "9.7.3",
42
44
  "@tanstack/react-query": "5.8.4",
43
45
  "clsx": "2.1.0",
@@ -65,8 +67,8 @@
65
67
  "@vitejs/plugin-react-swc": "3.5.0",
66
68
  "concurrently": "8.2.2",
67
69
  "csstype": "3.1.3",
68
- "edifice-bootstrap": "develop-integration",
69
- "edifice-ts-client": "develop-integration",
70
+ "edifice-bootstrap": "develop-pedago",
71
+ "edifice-ts-client": "develop-pedago",
70
72
  "eslint": "8.56.0",
71
73
  "eslint-config-prettier": "9.1.0",
72
74
  "eslint-plugin-import": "2.29.1",
@@ -1,12 +0,0 @@
1
- import { TreeNode } from "@edifice-ui/react";
2
- import { type IFolder } from "edifice-ts-client";
3
- /** Utility inner class that wraps an IFolder into a TreeNode. */
4
- export default class TreeNodeFolderWrapper implements TreeNode {
5
- readonly folder: IFolder;
6
- constructor(folder: IFolder);
7
- readonly id: string;
8
- readonly name: string;
9
- readonly childNumber: number;
10
- section: boolean;
11
- readonly children: TreeNode[];
12
- }
@@ -1,6 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- import { type IFolder } from "edifice-ts-client";
3
- export declare function addNode(treeData: TreeNode, { parentId, newFolder }: {
4
- parentId: string;
5
- newFolder: IFolder;
6
- }): TreeNode;
@@ -1,4 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function deleteNode(treeData: TreeNode, { folders }: {
3
- folders: string[];
4
- }): TreeNode;
@@ -1,2 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function findNodeById(id: string, data: TreeNode): TreeNode | undefined;
@@ -1,2 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function getAncestors(folderId: string, treeData: TreeNode): string[];
@@ -1,2 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function hasChildren(folderId: string, data: TreeNode): boolean;
@@ -1,2 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function modifyNode(data: TreeNode, callback: (node: TreeNode, parent?: TreeNode) => TreeNode | undefined): TreeNode;
@@ -1,5 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- export declare function moveNode(treeData: TreeNode, { destinationId, folders }: {
3
- destinationId: string;
4
- folders: string[];
5
- }): TreeNode;
@@ -1,6 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- import { type IFolder } from "edifice-ts-client";
3
- export declare function updateNode(treeData: TreeNode, { folderId, newFolder }: {
4
- folderId: string;
5
- newFolder: IFolder;
6
- }): TreeNode;
@@ -1,3 +0,0 @@
1
- import { type TreeNode } from "@edifice-ui/react";
2
- import { type IFolder } from "edifice-ts-client";
3
- export declare const wrapTreeNode: (treeNode: TreeNode, folders: IFolder[] | undefined, parentId: string) => TreeNode;