@edifice.io/react 2.2.2-develop-pedago.20250409103005 → 2.2.2-develop-b2school.20250410105023
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/dist/components/Avatar/Avatar.d.ts +0 -21
- package/dist/components/Avatar/Avatar.js +2 -15
- package/dist/components/Card/Card.d.ts +1 -3
- package/dist/components/Card/CardBody.d.ts +1 -3
- package/dist/components/Card/CardBody.js +2 -4
- package/dist/components/Combobox/Combobox.d.ts +55 -5
- package/dist/components/Combobox/Combobox.js +13 -7
- package/dist/components/Combobox/ComboboxTrigger.d.ts +30 -2
- package/dist/components/Combobox/ComboboxTrigger.js +27 -8
- package/dist/components/Dropdown/Dropdown.d.ts +10 -6
- package/dist/components/Dropdown/Dropdown.js +5 -5
- package/dist/components/Dropdown/DropdownItem.d.ts +3 -3
- package/dist/components/Dropdown/DropdownItem.js +6 -8
- package/dist/components/Dropdown/DropdownTrigger.d.ts +2 -31
- package/dist/components/Dropdown/DropdownTrigger.js +8 -24
- package/dist/components/List/List.d.ts +9 -1
- package/dist/components/List/List.js +9 -9
- package/dist/components/SearchBar/SearchBar.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.js +3 -1
- package/dist/components/index.d.ts +0 -4
- package/dist/editor.js +22 -22
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useCheckable/useCheckable.js +10 -3
- package/dist/hooks/useConf/useConf.d.ts +1 -1
- package/dist/hooks/useConversation/useConversation.d.ts +1 -1
- package/dist/hooks/useConversation/useConversation.js +13 -17
- package/dist/hooks/useDropdown/useDropdown.d.ts +2 -1
- package/dist/hooks/useDropdown/useDropdown.js +5 -3
- package/dist/hooks/useSession/useSession.d.ts +1 -1
- package/dist/hooks/useWorkspaceFolders/index.d.ts +1 -0
- package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +14 -0
- package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +44 -0
- package/dist/icons.js +230 -212
- package/dist/index.d.ts +1 -0
- package/dist/index.js +172 -154
- package/dist/modals.js +16 -14
- package/dist/modules/comments/components/Comment.js +34 -49
- package/dist/modules/comments/components/CommentForm.d.ts +1 -2
- package/dist/modules/comments/components/CommentForm.js +8 -12
- package/dist/modules/comments/components/CommentList.js +3 -3
- package/dist/modules/comments/constants.d.ts +0 -4
- package/dist/modules/comments/constants.js +1 -2
- package/dist/modules/comments/context/Context.d.ts +4 -6
- package/dist/modules/comments/hooks/useComments.d.ts +7 -7
- package/dist/modules/comments/hooks/useComments.js +19 -24
- package/dist/modules/comments/hooks/useCommentsContext.d.ts +4 -6
- package/dist/modules/comments/provider/CommentProvider.js +13 -16
- package/dist/modules/comments/types.d.ts +1 -14
- package/dist/modules/editor/components/Editor/Editor.d.ts +3 -1
- package/dist/modules/editor/components/Editor/Editor.js +5 -8
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +0 -12
- package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/index.d.ts +2 -2
- package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.d.ts +8 -0
- package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -0
- package/dist/modules/editor/components/Renderer/index.d.ts +2 -2
- package/dist/modules/editor/hooks/useTipTapEditor.d.ts +6 -2
- package/dist/modules/editor/hooks/useTipTapEditor.js +2 -4
- package/dist/modules/icons/components/IconFolderAdd.d.ts +7 -0
- package/dist/modules/icons/components/IconFolderAdd.js +13 -0
- package/dist/modules/icons/components/IconFolderDelete.d.ts +7 -0
- package/dist/modules/icons/components/IconFolderDelete.js +12 -0
- package/dist/modules/icons/components/IconGlobe2.d.ts +7 -0
- package/dist/modules/icons/components/IconGlobe2.js +16 -0
- package/dist/modules/icons/components/IconGroupAvatar.d.ts +7 -0
- package/dist/modules/icons/components/IconGroupAvatar.js +12 -0
- package/dist/modules/icons/components/IconMailRecall.d.ts +7 -0
- package/dist/modules/icons/components/IconMailRecall.js +13 -0
- package/dist/modules/icons/components/IconQuestionMark.d.ts +7 -0
- package/dist/modules/icons/components/IconQuestionMark.js +13 -0
- package/dist/modules/icons/components/IconReadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconReadMail.js +16 -0
- package/dist/modules/icons/components/IconSignature.d.ts +7 -0
- package/dist/modules/icons/components/IconSignature.js +13 -0
- package/dist/modules/icons/components/IconUndoAll.d.ts +7 -0
- package/dist/modules/icons/components/IconUndoAll.js +14 -0
- package/dist/modules/icons/components/IconUnreadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconUnreadMail.js +16 -0
- package/dist/modules/icons/components/index.d.ts +10 -1
- package/dist/modules/modals/ConfirmModal/ConfirmModal.d.ts +42 -0
- package/dist/modules/modals/ConfirmModal/ConfirmModal.js +36 -0
- package/dist/modules/modals/ConfirmModal/index.d.ts +1 -0
- package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
- package/dist/modules/modals/ShareModal/ShareModal.d.ts +1 -1
- package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
- package/dist/modules/modals/index.d.ts +1 -0
- package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +5 -9
- package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.d.ts +8 -0
- package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.js +28 -0
- package/dist/modules/multimedia/WorkspaceFolders/index.d.ts +1 -0
- package/dist/modules/multimedia/index.d.ts +1 -0
- package/dist/multimedia.js +3 -1
- package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
- package/dist/types/index.d.ts +0 -1
- package/package.json +6 -6
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +0 -24
- package/dist/components/AvatarGroup/AvatarGroup.js +0 -24
- package/dist/components/AvatarGroup/index.d.ts +0 -2
- package/dist/components/PreventPropagation/PreventPropagation.d.ts +0 -10
- package/dist/components/PreventPropagation/PreventPropagation.js +0 -9
- package/dist/components/PreventPropagation/index.d.ts +0 -2
- package/dist/components/StackedGroup/StackedGroup.d.ts +0 -23
- package/dist/components/StackedGroup/StackedGroup.js +0 -21
- package/dist/components/StackedGroup/index.d.ts +0 -1
- package/dist/components/Switch/Switch.d.ts +0 -29
- package/dist/components/Switch/Switch.js +0 -27
- package/dist/components/Switch/index.d.ts +0 -2
- package/dist/modules/comments/components/CommentDeleted.d.ts +0 -1
- package/dist/modules/comments/components/CommentDeleted.js +0 -11
- package/dist/modules/comments/components/CommentReplies.d.ts +0 -4
- package/dist/modules/comments/components/CommentReplies.js +0 -33
- package/dist/modules/comments/hooks/useCommentReplies.d.ts +0 -12
- package/dist/modules/comments/hooks/useCommentReplies.js +0 -36
- package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.d.ts +0 -6
- package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js +0 -136
- package/dist/modules/editor/components/BubbleMenuEditInformationPane/index.d.ts +0 -1
- package/dist/modules/editor/components/NodeView/InformationPaneNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/InformationPaneNodeView.js +0 -10
- package/dist/modules/editor/components/Renderer/InformationPaneRenderer.d.ts +0 -3
- package/dist/modules/editor/components/Renderer/InformationPaneRenderer.js +0 -33
- package/dist/modules/icons/components/IconInfoRectangle.d.ts +0 -7
- package/dist/modules/icons/components/IconInfoRectangle.js +0 -13
|
@@ -24,10 +24,12 @@ const SearchBar = ({
|
|
|
24
24
|
"ps-48": isVariant
|
|
25
25
|
}), handleClick = () => {
|
|
26
26
|
onClick == null || onClick();
|
|
27
|
+
}, handleKeyDown = (e) => {
|
|
28
|
+
e.key === "Enter" && (e.preventDefault(), handleClick());
|
|
27
29
|
};
|
|
28
30
|
return /* @__PURE__ */ jsxs(FormControl, { id: "search-bar", className: searchbar, children: [
|
|
29
31
|
isVariant && /* @__PURE__ */ jsx("div", { className: "position-absolute z-1 top-50 start-0 translate-middle-y border-0 ps-12 bg-transparent", children: /* @__PURE__ */ jsx(SvgIconSearch, {}) }),
|
|
30
|
-
/* @__PURE__ */ jsx(FormControl.Input, { type: "search", placeholder: t(placeholder), size, noValidationIcon: !0, className: input, onChange, disabled, ...restProps }),
|
|
32
|
+
/* @__PURE__ */ jsx(FormControl.Input, { type: "search", placeholder: t(placeholder), size, noValidationIcon: !0, className: input, onChange, disabled, onKeyDown: handleKeyDown, ...restProps }),
|
|
31
33
|
!isVariant && /* @__PURE__ */ jsx(SearchButton, { type: "submit", "aria-label": t("search"), icon: /* @__PURE__ */ jsx(SvgIconSearch, {}), className: "border-start-0", onClick: handleClick })
|
|
32
34
|
] });
|
|
33
35
|
};
|
|
@@ -4,7 +4,6 @@ export * from './AppHeader';
|
|
|
4
4
|
export * from './AppIcon';
|
|
5
5
|
export * from './Attachment';
|
|
6
6
|
export * from './Avatar';
|
|
7
|
-
export * from './AvatarGroup';
|
|
8
7
|
export * from './Badge';
|
|
9
8
|
export * from './Breadcrumb';
|
|
10
9
|
export * from './Button';
|
|
@@ -29,12 +28,9 @@ export * from './Logo';
|
|
|
29
28
|
export * from './Menu';
|
|
30
29
|
export * from './Modal';
|
|
31
30
|
export * from './Popover';
|
|
32
|
-
export * from './PreventPropagation';
|
|
33
31
|
export * from './Radio';
|
|
34
32
|
export * from './SearchBar';
|
|
35
33
|
export * from './Select';
|
|
36
|
-
export * from './StackedGroup';
|
|
37
|
-
export * from './Switch';
|
|
38
34
|
export * from './Table';
|
|
39
35
|
export * from './Tabs';
|
|
40
36
|
export * from './TextArea';
|
package/dist/editor.js
CHANGED
|
@@ -2,17 +2,17 @@ import { EditorContent, Editor, useEditor } from "@tiptap/react";
|
|
|
2
2
|
import { default as default2 } from "@tiptap/starter-kit";
|
|
3
3
|
import { default as default3 } from "./modules/editor/components/Editor/Editor.js";
|
|
4
4
|
import { default as default4 } from "./modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js";
|
|
5
|
-
import { default as default5 } from "./modules/editor/components/NodeView/
|
|
6
|
-
import { default as default6 } from "./modules/editor/components/NodeView/
|
|
7
|
-
import { default as default7 } from "./modules/editor/components/NodeView/
|
|
8
|
-
import { default as default8 } from "./modules/editor/components/NodeView/
|
|
9
|
-
import { default as default9 } from "./modules/editor/components/NodeView/
|
|
10
|
-
import { default as default10 } from "./modules/editor/components/NodeView/
|
|
11
|
-
import { default as default11 } from "./modules/editor/components/Renderer/
|
|
12
|
-
import { default as default12 } from "./modules/editor/components/Renderer/
|
|
13
|
-
import { default as default13 } from "./modules/editor/components/Renderer/
|
|
14
|
-
import { default as default14 } from "./modules/editor/components/Renderer/
|
|
15
|
-
import { default as default15 } from "./modules/editor/components/Renderer/
|
|
5
|
+
import { default as default5 } from "./modules/editor/components/NodeView/AttachmentNodeView.js";
|
|
6
|
+
import { default as default6 } from "./modules/editor/components/NodeView/AudioNodeView.js";
|
|
7
|
+
import { default as default7 } from "./modules/editor/components/NodeView/ConversationHistoryNodeView.js";
|
|
8
|
+
import { default as default8 } from "./modules/editor/components/NodeView/ImageNodeView.js";
|
|
9
|
+
import { default as default9 } from "./modules/editor/components/NodeView/LinkerNodeView.js";
|
|
10
|
+
import { default as default10 } from "./modules/editor/components/NodeView/VideoNodeView.js";
|
|
11
|
+
import { default as default11 } from "./modules/editor/components/Renderer/AttachmentRenderer.js";
|
|
12
|
+
import { default as default12 } from "./modules/editor/components/Renderer/AudioRenderer.js";
|
|
13
|
+
import { default as default13 } from "./modules/editor/components/Renderer/ConversationHistoryRenderer.js";
|
|
14
|
+
import { default as default14 } from "./modules/editor/components/Renderer/LinkerRenderer.js";
|
|
15
|
+
import { default as default15 } from "./modules/editor/components/Renderer/MediaRenderer.js";
|
|
16
16
|
import { default as default16 } from "./modules/editor/components/Toolbar/TableToolbar.js";
|
|
17
17
|
import { default as default17 } from "./modules/editor/components/Toolbar/LinkToolbar.js";
|
|
18
18
|
import { EditorToolbar } from "./modules/editor/components/EditorToolbar/EditorToolbar.js";
|
|
@@ -29,26 +29,26 @@ import { useSpeechRecognition } from "./modules/editor/hooks/useSpeechRecognitio
|
|
|
29
29
|
import { useSpeechSynthetisis } from "./modules/editor/hooks/useSpeechSynthetisis.js";
|
|
30
30
|
import { useTipTapEditor } from "./modules/editor/hooks/useTipTapEditor.js";
|
|
31
31
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
default5 as AttachmentNodeView,
|
|
33
|
+
default11 as AttachmentRenderer,
|
|
34
|
+
default6 as AudioNodeView,
|
|
35
|
+
default12 as AudioRenderer,
|
|
36
36
|
default4 as BubbleMenuEditImage,
|
|
37
|
+
default7 as ConversationHistoryNodeView,
|
|
38
|
+
default13 as ConversationHistoryRenderer,
|
|
37
39
|
default3 as Editor,
|
|
38
40
|
EditorContent,
|
|
39
41
|
EditorContext,
|
|
40
42
|
Editor as EditorInstance,
|
|
41
43
|
EditorToolbar,
|
|
42
|
-
|
|
43
|
-
default10 as InformationPaneNodeView,
|
|
44
|
-
default15 as InformationPaneRenderer,
|
|
44
|
+
default8 as ImageNodeView,
|
|
45
45
|
default17 as LinkToolbar,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
default9 as LinkerNodeView,
|
|
47
|
+
default14 as LinkerRenderer,
|
|
48
|
+
default15 as MediaRenderer,
|
|
49
49
|
default2 as StarterKit,
|
|
50
50
|
default16 as TableToolbar,
|
|
51
|
-
|
|
51
|
+
default10 as VideoNodeView,
|
|
52
52
|
useActionOptions,
|
|
53
53
|
useCommentEditor,
|
|
54
54
|
useEditor,
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export * from './useUpload';
|
|
|
29
29
|
export * from './useUploadFiles';
|
|
30
30
|
export * from './useUser';
|
|
31
31
|
export * from './useWorkspaceFile';
|
|
32
|
+
export * from './useWorkspaceFolders';
|
|
32
33
|
export * from './useWorkspaceSearch';
|
|
33
34
|
export * from './useXitiTrackPageLoad';
|
|
34
35
|
export * from './useZendeskGuide';
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
2
|
const useCheckable = (data) => {
|
|
3
|
-
const [selectedItems, setSelectedItems] = useState([])
|
|
3
|
+
const [selectedItems, setSelectedItems] = useState([]);
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (data) {
|
|
6
|
+
const validSelectedItems = selectedItems.filter((id) => data.some((item) => item._id === id));
|
|
7
|
+
validSelectedItems.length !== selectedItems.length && setSelectedItems(validSelectedItems);
|
|
8
|
+
}
|
|
9
|
+
}, [data]);
|
|
10
|
+
const handleOnSelectItem = (itemId) => {
|
|
4
11
|
setSelectedItems((currentSelection) => {
|
|
5
12
|
const newSelection = [...currentSelection];
|
|
6
13
|
return newSelection.includes(itemId) ? newSelection.splice(newSelection.indexOf(itemId), 1) : newSelection.push(itemId), newSelection;
|
|
7
14
|
});
|
|
8
15
|
}, handleOnSelectAllItems = (deselect) => {
|
|
9
16
|
setSelectedItems(() => deselect ? [] : (data == null ? void 0 : data.map((item) => item._id)) ?? []);
|
|
10
|
-
}, allItemsSelected = (selectedItems == null ? void 0 : selectedItems.length) === (data == null ? void 0 : data.length), isIndeterminate = data ? (selectedItems == null ? void 0 : selectedItems.length) > 0 && (selectedItems == null ? void 0 : selectedItems.length) < (data == null ? void 0 : data.length) : !1;
|
|
17
|
+
}, allItemsSelected = (selectedItems == null ? void 0 : selectedItems.length) === (data == null ? void 0 : data.length) && (data == null ? void 0 : data.length) > 0, isIndeterminate = data ? (selectedItems == null ? void 0 : selectedItems.length) > 0 && (selectedItems == null ? void 0 : selectedItems.length) < (data == null ? void 0 : data.length) : !1;
|
|
11
18
|
return {
|
|
12
19
|
selectedItems,
|
|
13
20
|
allItemsSelected,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { App, IGetConf } from '@edifice.io/client';
|
|
2
2
|
export default function useConf({ appCode }: {
|
|
3
3
|
appCode: App;
|
|
4
|
-
}): import('
|
|
4
|
+
}): import('../../../node_modules/@tanstack/react-query').UseQueryResult<IGetConf, Error>;
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { useState, useEffect } from "react";
|
|
2
2
|
import { odeServices } from "@edifice.io/client";
|
|
3
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
4
|
import useHasWorkflow from "../useHasWorkflow/useHasWorkflow.js";
|
|
4
5
|
const useConversation = () => {
|
|
5
|
-
const zimbraWorkflow = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"), zimbraPreauth = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"), [
|
|
6
|
+
const zimbraWorkflow = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"), zimbraPreauth = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"), [msgLink, setMsgLink] = useState(""), queryParams = {
|
|
6
7
|
unread: !0,
|
|
7
8
|
_: (/* @__PURE__ */ new Date()).getTime()
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
console.error(error), setMessages(0);
|
|
19
|
-
}
|
|
20
|
-
}, goToMessagerie = async () => {
|
|
9
|
+
}, {
|
|
10
|
+
data: messages
|
|
11
|
+
} = useQuery({
|
|
12
|
+
queryKey: ["conversation-navbar-count"],
|
|
13
|
+
queryFn: async () => await odeServices.http().get(zimbraWorkflow ? "/zimbra/count/INBOX" : "/conversation/count/INBOX", {
|
|
14
|
+
queryParams
|
|
15
|
+
}),
|
|
16
|
+
staleTime: 5 * 60 * 1e3
|
|
17
|
+
// 5 minutes
|
|
18
|
+
}), goToMessagerie = async () => {
|
|
21
19
|
const defaultLink = "/zimbra/zimbra";
|
|
22
20
|
try {
|
|
23
21
|
const {
|
|
@@ -29,11 +27,9 @@ const useConversation = () => {
|
|
|
29
27
|
}
|
|
30
28
|
};
|
|
31
29
|
return useEffect(() => {
|
|
32
|
-
refreshMails();
|
|
33
|
-
}, []), useEffect(() => {
|
|
34
30
|
goToMessagerie();
|
|
35
31
|
}, []), {
|
|
36
|
-
messages,
|
|
32
|
+
messages: messages ? messages.count : 0,
|
|
37
33
|
msgLink,
|
|
38
34
|
zimbraWorkflow
|
|
39
35
|
};
|
|
@@ -27,6 +27,7 @@ export interface UseDropdownProps {
|
|
|
27
27
|
menuProps: Record<string, any>;
|
|
28
28
|
itemProps: Record<string, any>;
|
|
29
29
|
setVisible: Dispatch<SetStateAction<boolean>>;
|
|
30
|
+
openOnSpace?: boolean;
|
|
30
31
|
}
|
|
31
|
-
declare const useDropdown: (placement: Placement | undefined, extraTriggerKeyDownHandler?: (event: React.KeyboardEvent<HTMLButtonElement>) => void, isTriggerHovered?: boolean) => UseDropdownProps;
|
|
32
|
+
declare const useDropdown: (placement: Placement | undefined, extraTriggerKeyDownHandler?: (event: React.KeyboardEvent<HTMLButtonElement>) => void, isTriggerHovered?: boolean, focusOnVisible?: boolean, openOnSpace?: boolean) => UseDropdownProps;
|
|
32
33
|
export default useDropdown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useId, useState, useRef, useEffect, useCallback } from "react";
|
|
2
2
|
import { useFloating, offset, size, flip, autoUpdate, useHover, safePolygon } from "@floating-ui/react";
|
|
3
3
|
import { mergeRefs } from "../../utilities/refs/ref.js";
|
|
4
|
-
const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !1) => {
|
|
4
|
+
const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !1, focusOnVisible = !0, openOnSpace = !0) => {
|
|
5
5
|
const id = useId(), [visible, setVisible] = useState(!1), [activeIndex, setActiveIndex] = useState(-1), [isFocused, setIsFocused] = useState(null), {
|
|
6
6
|
refs,
|
|
7
7
|
floatingStyles,
|
|
@@ -11,7 +11,7 @@ const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !
|
|
|
11
11
|
open: visible,
|
|
12
12
|
onOpenChange: setVisible,
|
|
13
13
|
whileElementsMounted: autoUpdate,
|
|
14
|
-
middleware: [offset(
|
|
14
|
+
middleware: [offset(0), size({
|
|
15
15
|
apply({
|
|
16
16
|
rects,
|
|
17
17
|
elements
|
|
@@ -32,7 +32,7 @@ const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !
|
|
|
32
32
|
});
|
|
33
33
|
const menuRef = useRef(null), triggerRef = useRef(null), itemRefs = useRef({});
|
|
34
34
|
useEffect(() => {
|
|
35
|
-
visible
|
|
35
|
+
visible && menuRef.current && focusOnVisible ? (menuRef.current.focus(), setActiveIndex(0)) : (setActiveIndex(-1), itemRefs.current = {});
|
|
36
36
|
}, [visible]), useEffect(() => {
|
|
37
37
|
if (activeIndex !== -1) {
|
|
38
38
|
const currentItem = Object.values(itemRefs.current)[activeIndex];
|
|
@@ -66,6 +66,8 @@ const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !
|
|
|
66
66
|
switch (event.code) {
|
|
67
67
|
case " ":
|
|
68
68
|
case "Space":
|
|
69
|
+
if (!openOnSpace)
|
|
70
|
+
break;
|
|
69
71
|
case "Enter":
|
|
70
72
|
case "ArrowDown":
|
|
71
73
|
case "Down":
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IGetSession } from '@edifice.io/client';
|
|
2
|
-
export default function useSession(): import('
|
|
2
|
+
export default function useSession(): import('../../../node_modules/@tanstack/react-query').UseQueryResult<IGetSession, Error>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useWorkspaceFolders } from './useWorkspaceFolders';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface FolderTreeNode {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
children?: FolderTreeNode[];
|
|
5
|
+
}
|
|
6
|
+
declare function useWorkspaceFolders(): {
|
|
7
|
+
folderTree: {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
children: FolderTreeNode[];
|
|
11
|
+
}[];
|
|
12
|
+
setSearchQuery: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
13
|
+
};
|
|
14
|
+
export default useWorkspaceFolders;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { odeServices } from "@edifice.io/client";
|
|
2
|
+
import { useQuery } from "@tanstack/react-query";
|
|
3
|
+
import { useState, useMemo } from "react";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
function useWorkspaceFolders() {
|
|
6
|
+
const {
|
|
7
|
+
t
|
|
8
|
+
} = useTranslation(), {
|
|
9
|
+
data: folderData
|
|
10
|
+
} = useQuery({
|
|
11
|
+
queryKey: ["workspace-folders"],
|
|
12
|
+
queryFn: () => odeServices.workspace().listFolder("owner", !0)
|
|
13
|
+
}), [searchQuery, setSearchQuery] = useState(""), filterTree = (nodes, search) => nodes.map((node) => {
|
|
14
|
+
const filteredChildren = node.children ? filterTree(node.children, search) : [];
|
|
15
|
+
return node.name.toLowerCase().includes(search.toLowerCase()) || filteredChildren.length > 0 ? {
|
|
16
|
+
...node,
|
|
17
|
+
children: filteredChildren
|
|
18
|
+
} : null;
|
|
19
|
+
}).filter((node) => node !== null);
|
|
20
|
+
return {
|
|
21
|
+
folderTree: useMemo(() => {
|
|
22
|
+
const buildWorkspaceTree = (data) => [{
|
|
23
|
+
id: "",
|
|
24
|
+
name: t("workspace.myDocuments"),
|
|
25
|
+
children: data
|
|
26
|
+
}];
|
|
27
|
+
if (!folderData) return buildWorkspaceTree([]);
|
|
28
|
+
const nodes = /* @__PURE__ */ new Map(), fullTree = [];
|
|
29
|
+
return folderData.forEach((item) => {
|
|
30
|
+
nodes.set(item._id, {
|
|
31
|
+
id: item._id,
|
|
32
|
+
name: item.name,
|
|
33
|
+
children: []
|
|
34
|
+
});
|
|
35
|
+
}), folderData.forEach((item) => {
|
|
36
|
+
item.eParent && nodes.has(item.eParent) ? nodes.get(item.eParent).children.push(nodes.get(item._id)) : fullTree.push(nodes.get(item._id));
|
|
37
|
+
}), buildWorkspaceTree(searchQuery ? filterTree(fullTree, searchQuery) : fullTree);
|
|
38
|
+
}, [folderData, searchQuery]),
|
|
39
|
+
setSearchQuery
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
useWorkspaceFolders as default
|
|
44
|
+
};
|