texteditorrefactor 0.0.12 → 0.0.13

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 (40) hide show
  1. package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreenSkeleton.d.ts +6 -0
  2. package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreenSkeleton.js +12 -0
  3. package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreenSkeleton.js.map +1 -0
  4. package/dist/components/Molecules/RecapNode/ContentView.js +2 -2
  5. package/dist/components/Molecules/RecapNode/ContentView.js.map +1 -1
  6. package/dist/components/Molecules/RecapNode/SectionView.js +70 -10
  7. package/dist/components/Molecules/RecapNode/SectionView.js.map +1 -1
  8. package/dist/components/Molecules/RecapNode/VideoView.d.ts +6 -1
  9. package/dist/components/Molecules/RecapNode/VideoView.js +47 -6
  10. package/dist/components/Molecules/RecapNode/VideoView.js.map +1 -1
  11. package/dist/components/Organisms/FlashCardNode/FlashCardNode.js +46 -3
  12. package/dist/components/Organisms/FlashCardNode/FlashCardNode.js.map +1 -1
  13. package/dist/components/Organisms/FlashCardNode/FlashcardContainer.d.ts +2 -1
  14. package/dist/components/Organisms/FlashCardNode/FlashcardContainer.js +6 -30
  15. package/dist/components/Organisms/FlashCardNode/FlashcardContainer.js.map +1 -1
  16. package/dist/components/Organisms/FlashCardNode/IconBar.d.ts +3 -1
  17. package/dist/components/Organisms/FlashCardNode/IconBar.js +3 -3
  18. package/dist/components/Organisms/FlashCardNode/IconBar.js.map +1 -1
  19. package/dist/components/Organisms/FlashCardNode/MobileAccordionView.d.ts +2 -1
  20. package/dist/components/Organisms/FlashCardNode/MobileAccordionView.js +12 -107
  21. package/dist/components/Organisms/FlashCardNode/MobileAccordionView.js.map +1 -1
  22. package/dist/components/Organisms/RecapGraph/Example.stories.js +22 -8
  23. package/dist/components/Organisms/RecapGraph/Example.stories.js.map +1 -1
  24. package/dist/components/Organisms/RecapGraph/Reactgraphflow.d.ts +3 -2
  25. package/dist/components/Organisms/RecapGraph/Reactgraphflow.js +54 -214
  26. package/dist/components/Organisms/RecapGraph/Reactgraphflow.js.map +1 -1
  27. package/dist/components/Organisms/RecapGraph/useRecapGraphLogic.d.ts +29 -0
  28. package/dist/components/Organisms/RecapGraph/useRecapGraphLogic.js +357 -0
  29. package/dist/components/Organisms/RecapGraph/useRecapGraphLogic.js.map +1 -0
  30. package/dist/components/Organisms/StudentEditor/components/EditorComponent.d.ts +0 -1
  31. package/dist/components/Organisms/StudentEditor/components/EditorComponent.js +4 -32
  32. package/dist/components/Organisms/StudentEditor/components/EditorComponent.js.map +1 -1
  33. package/dist/components/Organisms/StudentEditor/components/TextEditor.js +28 -63
  34. package/dist/components/Organisms/StudentEditor/components/TextEditor.js.map +1 -1
  35. package/dist/utils/RecapData.d.ts +504 -33
  36. package/dist/utils/RecapData.js +1999 -538
  37. package/dist/utils/RecapData.js.map +1 -1
  38. package/dist/utils/contentUtils.js +12 -5
  39. package/dist/utils/contentUtils.js.map +1 -1
  40. package/package.json +1 -1
@@ -6,121 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MobileAccordionView = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("@chakra-ui/react");
9
- const react_2 = require("react");
10
9
  const FlashcardContainer_1 = __importDefault(require("./FlashcardContainer"));
11
10
  const contentUtils_1 = require("../../../utils/contentUtils");
12
- const MobileAccordionView = ({ jsonData = null, contentMap = {}, onContentUpdate, onIconDataUpdate, isAdmin = false, iconConfig = [], }) => {
13
- const [expandedNodes, setExpandedNodes] = (0, react_2.useState)({});
14
- const [contentExpanded, setContentExpanded] = (0, react_2.useState)({});
15
- const [displayTypes, setDisplayTypes] = (0, react_2.useState)({});
16
- const [videoIndices, setVideoIndices] = (0, react_2.useState)({});
17
- // Build color map exactly like RecapGraph does - process all nodes once upfront
18
- const colorMap = (0, react_2.useMemo)(() => {
19
- const map = {};
20
- const buildColorMap = (nodeData, level = 0, parentColorKey = null) => {
21
- if (!nodeData) {
22
- return null;
23
- }
24
- let colorKey;
25
- if (level === 0) {
26
- colorKey = "root";
27
- }
28
- else if (level === 1) {
29
- // Count how many level 1 siblings we've already processed
30
- let level1Index = 0;
31
- const countLevel1Siblings = (node, targetId) => {
32
- if (node._id === targetId)
33
- return level1Index;
34
- if (node.children) {
35
- for (let child of node.children) {
36
- if (child.children) {
37
- const result = countLevel1Siblings(child, targetId);
38
- if (result !== null)
39
- return result;
40
- }
41
- level1Index++;
42
- }
43
- }
44
- return null;
45
- };
46
- // Simpler: just count position among siblings at level 1
47
- const parentChildren = jsonData.children || [];
48
- const siblingIndex = parentChildren.findIndex((c) => c._id === nodeData._id);
49
- colorKey = String(siblingIndex % 8);
50
- }
51
- else {
52
- // Child levels inherit parent's color key
53
- colorKey = parentColorKey;
54
- }
55
- map[nodeData._id] = {
56
- colorKey,
57
- level,
58
- };
59
- if (nodeData.children?.length) {
60
- nodeData.children.forEach((child) => {
61
- buildColorMap(child, level + 1, colorKey);
62
- });
63
- }
64
- };
65
- if (jsonData) {
66
- buildColorMap(jsonData);
67
- }
68
- return map;
69
- }, [jsonData]);
70
- const getNodeColor = (nodeId, level, colorKey) => {
71
- if (level === 0) {
72
- return contentUtils_1.COLOR_MAP.root;
73
- }
74
- if (level === 1) {
75
- return contentUtils_1.COLOR_MAP[colorKey];
76
- }
77
- // Level 2+ use light color
78
- return contentUtils_1.LIGHT_COLOR_MAP[colorKey];
79
- };
80
- const renderNode = (nodeData, level = 0) => {
81
- console.log("node data:", nodeData);
82
- const nodeContent = contentMap[nodeData._id] || null;
83
- const hasContent = nodeContent &&
84
- (nodeContent.videos?.length > 0 ||
85
- (nodeContent.recap && Object.keys(nodeContent.recap).length > 0));
11
+ const useRecapGraphLogic_1 = require("../RecapGraph/useRecapGraphLogic");
12
+ const MobileAccordionView = ({ jsonData = null, contentMap = {}, onContentUpdate, onIconDataUpdate, isAdmin = false, iconConfig = [], playicon, }) => {
13
+ const logic = (0, useRecapGraphLogic_1.useRecapGraphLogic)(jsonData, contentMap, iconConfig);
14
+ const renderNode = (nodeData) => {
15
+ const { nodeContent, hasContent } = logic.getNodeContent(nodeData._id);
16
+ const { headerColor, bgColor, colorInfo } = logic.getNodeColors(nodeData._id);
86
17
  const hasChildren = nodeData.children?.length > 0;
87
18
  const availableContentTypes = hasContent
88
19
  ? (0, contentUtils_1.getAvailableContentTypes)(nodeContent)
89
20
  : [];
90
21
  const availableIcons = iconConfig.filter((icon) => availableContentTypes.includes(icon.type));
91
- const displayType = displayTypes[nodeData._id] || availableContentTypes[0] || null;
92
- const isNodeExpanded = expandedNodes[nodeData._id] || false;
93
- const isContentExpanded = contentExpanded[nodeData._id] || false;
94
- const currentVideoIdx = videoIndices[nodeData._id] || 0;
95
- // Get color from memoized map
96
- const nodeColorInfo = colorMap[nodeData._id] || { colorKey: "0", level: 0 };
97
- const bgColor = getNodeColor(nodeData._id, nodeColorInfo.level, nodeColorInfo.colorKey);
98
- const handleChevronClick = () => {
99
- setExpandedNodes((prev) => ({
100
- ...prev,
101
- [nodeData._id]: !prev[nodeData._id],
102
- }));
103
- };
104
- const handleIconClick = (type) => {
105
- const isSame = displayTypes[nodeData._id] === type;
106
- setContentExpanded((prev) => ({
107
- ...prev,
108
- [nodeData._id]: isSame ? !prev[nodeData._id] : true,
109
- }));
110
- setDisplayTypes((prev) => ({
111
- ...prev,
112
- [nodeData._id]: type,
113
- }));
114
- };
115
- const setCurrentVideoIdx = (idx) => {
116
- setVideoIndices((prev) => ({
117
- ...prev,
118
- [nodeData._id]: idx,
119
- }));
120
- };
121
- return ((0, jsx_runtime_1.jsxs)(react_1.Box, { mb: "8px", children: [(0, jsx_runtime_1.jsx)(FlashcardContainer_1.default, { label: nodeData.description || nodeData.name, color: bgColor, hasContent: hasContent, isNodeExpanded: isNodeExpanded, isContentExpanded: isContentExpanded, displayType: displayType, availableIcons: availableIcons, handleIconClick: handleIconClick, content: nodeContent, currentVideoIdx: currentVideoIdx, setCurrentVideoIdx: setCurrentVideoIdx, isAdmin: isAdmin, onContentUpdate: onContentUpdate, nodeId: nodeData._id, rootNodeId: nodeData._id, onIconDataUpdate: onIconDataUpdate, hasChildren: hasChildren, onChevronClick: handleChevronClick, isMobile: true }), isNodeExpanded && hasChildren && ((0, jsx_runtime_1.jsx)(react_1.Box, { ml: "6px", mr: "6px", mt: "8px", bg: "#F8F8F8", children: nodeData.children.map((child) => renderNode(child, level + 1)) }))] }, nodeData._id));
22
+ const displayType = logic.displayTypes[nodeData._id] || null;
23
+ const isNodeExpanded = logic.expandedNodes[nodeData._id] || false;
24
+ const isContentExpanded = logic.contentExpanded[nodeData._id] || false;
25
+ const currentVideoIdx = logic.videoIndices[nodeData._id] || 0;
26
+ return ((0, jsx_runtime_1.jsxs)(react_1.Box, { mb: "8px", children: [(0, jsx_runtime_1.jsx)(FlashcardContainer_1.default, { label: nodeData.description || nodeData.name, color: headerColor, bgColor: bgColor, hasContent: hasContent, isNodeExpanded: isNodeExpanded, isContentExpanded: isContentExpanded, displayType: displayType, availableIcons: availableIcons, handleIconClick: (type) => logic.handleIconClick(nodeData._id, type, availableContentTypes), content: nodeContent, currentVideoIdx: currentVideoIdx, setCurrentVideoIdx: (idx) => logic.setCurrentVideoIdx(nodeData._id, idx), isAdmin: isAdmin, onContentUpdate: onContentUpdate, nodeId: nodeData._id, rootNodeId: jsonData._id, onIconDataUpdate: onIconDataUpdate, hasChildren: hasChildren, onChevronClick: () => logic.handleChevronClick(nodeData._id), isMobile: true, colorKey: colorInfo.colorKey, level: colorInfo.level, playicon: playicon }), isNodeExpanded && hasChildren && ((0, jsx_runtime_1.jsx)(react_1.Box, { px: "8px", mt: colorInfo.level === 0 ? "10px" : "", mb: "2px", bg: colorInfo.level === 0 ? "" : bgColor, children: nodeData.children.map((child) => renderNode(child)) }))] }, nodeData._id));
122
27
  };
123
- return ((0, jsx_runtime_1.jsx)(react_1.Box, { p: "16px", bg: "#f8fafc", children: (0, jsx_runtime_1.jsx)(react_1.VStack, { align: "stretch", spacing: "0", children: jsonData && renderNode(jsonData) }) }));
28
+ return ((0, jsx_runtime_1.jsx)(react_1.Box, { p: "16px", bg: "#f8fafc", minW: "340px", overflowX: "scroll", children: (0, jsx_runtime_1.jsx)(react_1.VStack, { align: "stretch", spacing: "0", children: jsonData && renderNode(jsonData) }) }));
124
29
  };
125
30
  exports.MobileAccordionView = MobileAccordionView;
126
31
  exports.default = exports.MobileAccordionView;
@@ -1 +1 @@
1
- {"version":3,"file":"MobileAccordionView.js","sourceRoot":"","sources":["../../../../src/components/Organisms/FlashCardNode/MobileAccordionView.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileAccordionView.js","sourceRoot":"","sources":["../../../../src/components/Organisms/FlashCardNode/MobileAccordionView.jsx"],"names":[],"mappings":"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"}
@@ -7,10 +7,15 @@ exports.DefaultTimerClock = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const RecapData_1 = require("../../../utils/RecapData");
9
9
  const Reactgraphflow_1 = __importDefault(require("./Reactgraphflow"));
10
- const defination_svg_1 = __importDefault(require("../../../assests/revision/defination.svg"));
11
- const formula_svg_1 = __importDefault(require("../../../assests/revision/formula.svg"));
12
- const videoplay_svg_1 = __importDefault(require("../../../assests/revision/videoplay.svg"));
13
- const equations_svg_1 = __importDefault(require("../../../assests/revision/equations.svg"));
10
+ const defination_svg_1 = __importDefault(require("../../../assests/recap/defination.svg"));
11
+ const formula_svg_1 = __importDefault(require("../../../assests/recap/formula.svg"));
12
+ const videoplay_svg_1 = __importDefault(require("../../../assests/recap/videoplay.svg"));
13
+ const equations_svg_1 = __importDefault(require("../../../assests/recap/equations.svg"));
14
+ const theorem_svg_1 = __importDefault(require("../../../assests/recap/theorem.svg"));
15
+ const timeline_svg_1 = __importDefault(require("../../../assests/recap/timeline.svg"));
16
+ const processes_svg_1 = __importDefault(require("../../../assests/recap/processes.svg"));
17
+ const lawsandapp_svg_1 = __importDefault(require("../../../assests/recap/lawsandapp.svg"));
18
+ const factualPlay_svg_1 = __importDefault(require("../../../assests/revision/factualPlay.svg"));
14
19
  exports.default = {
15
20
  title: "Components/Organisms/Graph/ReactFlowELKView",
16
21
  component: Reactgraphflow_1.default,
@@ -19,18 +24,27 @@ const Template = (args) => (0, jsx_runtime_1.jsx)(Reactgraphflow_1.default, { ..
19
24
  const customIcons = [
20
25
  { src: equations_svg_1.default, type: "equations" },
21
26
  { src: videoplay_svg_1.default, type: "videos" },
22
- { src: formula_svg_1.default, type: "formula" },
27
+ { src: formula_svg_1.default, type: "formulae" },
23
28
  { src: defination_svg_1.default, type: "definitions" },
29
+ { src: defination_svg_1.default, type: "keyConcepts" },
30
+ { src: theorem_svg_1.default, type: "theorems" },
31
+ { src: processes_svg_1.default, type: "processes" },
32
+ { src: lawsandapp_svg_1.default, type: "laws" },
33
+ { src: lawsandapp_svg_1.default, type: "applications" },
34
+ { src: timeline_svg_1.default, type: "Timeline" },
24
35
  ];
25
- console.log("content:", RecapData_1.contentMap);
36
+ console.log("contentmap:", RecapData_1.contentMap);
26
37
  exports.DefaultTimerClock = Template.bind({});
27
38
  exports.DefaultTimerClock.args = {
28
39
  jsonData: RecapData_1.jsonData,
29
40
  contentMap: RecapData_1.contentMap,
30
41
  iconConfig: customIcons,
31
- onContentUpdate: () => { },
42
+ onContentUpdate: (payload) => {
43
+ console.log("onContentUpdate payload:", payload);
44
+ },
32
45
  onIconDataUpdate: () => { },
33
- // isAdmin: true,
46
+ isAdmin: true,
47
+ playicon: factualPlay_svg_1.default,
34
48
  // isMobile: true,
35
49
  };
36
50
  //# sourceMappingURL=Example.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Example.stories.js","sourceRoot":"","sources":["../../../../src/components/Organisms/RecapGraph/Example.stories.tsx"],"names":[],"mappings":";;;;;;;AAEA,wDAA+E;AAC/E,sEAA0C;AAC1C,8FAAsE;AACtE,wFAAgE;AAChE,4FAAoE;AACpE,4FAAmE;AAEnE,kBAAe;IACb,KAAK,EAAE,6CAA6C;IACpD,SAAS,EAAE,wBAAU;CACd,CAAC;AAEV,MAAM,QAAQ,GAAe,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAC,wBAAU,OAAK,IAAI,GAAI,CAAC;AAEhE,MAAM,WAAW,GAAG;IAClB,EAAE,GAAG,EAAE,uBAAY,EAAE,IAAI,EAAE,WAAW,EAAE;IACxC,EAAE,GAAG,EAAE,uBAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtC,EAAE,GAAG,EAAE,qBAAW,EAAE,IAAI,EAAE,SAAS,EAAE;IACrC,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,aAAa,EAAE;CAC7C,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAU,CAAC,CAAC;AAEvB,QAAA,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,yBAAiB,CAAC,IAAI,GAAG;IACvB,QAAQ,EAAE,oBAAQ;IAClB,UAAU,EAAE,sBAAU;IACtB,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,iBAAiB;IACjB,kBAAkB;CACnB,CAAC"}
1
+ {"version":3,"file":"Example.stories.js","sourceRoot":"","sources":["../../../../src/components/Organisms/RecapGraph/Example.stories.tsx"],"names":[],"mappings":";;;;;;;AAEA,wDAA+E;AAC/E,sEAA0C;AAC1C,2FAAmE;AACnE,qFAA6D;AAC7D,yFAAiE;AACjE,yFAAgE;AAChE,qFAA6D;AAC7D,uFAA+D;AAC/D,yFAAiE;AACjE,2FAAmE;AACnE,gGAAiE;AAEjE,kBAAe;IACb,KAAK,EAAE,6CAA6C;IACpD,SAAS,EAAE,wBAAU;CACd,CAAC;AAEV,MAAM,QAAQ,GAAe,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAC,wBAAU,OAAK,IAAI,GAAI,CAAC;AAEhE,MAAM,WAAW,GAAG;IAClB,EAAE,GAAG,EAAE,uBAAY,EAAE,IAAI,EAAE,WAAW,EAAE;IACxC,EAAE,GAAG,EAAE,uBAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACtC,EAAE,GAAG,EAAE,qBAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IACtC,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5C,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5C,EAAE,GAAG,EAAE,qBAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IACtC,EAAE,GAAG,EAAE,uBAAa,EAAE,IAAI,EAAE,WAAW,EAAE;IACzC,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,MAAM,EAAE;IACrC,EAAE,GAAG,EAAE,wBAAc,EAAE,IAAI,EAAE,cAAc,EAAE;IAC7C,EAAE,GAAG,EAAE,sBAAY,EAAE,IAAI,EAAE,UAAU,EAAE;CACxC,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAU,CAAC,CAAC;AAE1B,QAAA,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,yBAAiB,CAAC,IAAI,GAAG;IACvB,QAAQ,EAAE,oBAAQ;IAClB,UAAU,EAAE,sBAAU;IACtB,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,CAAC,OAAY,EAAE,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,yBAAQ;IAClB,kBAAkB;CACnB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  export default RecapGraph;
2
- declare function RecapGraph({ jsonData, contentMap, iconConfig, onContentUpdate, onIconDataUpdate, isAdmin, isMobile, }: {
2
+ declare function RecapGraph({ jsonData, contentMap, iconConfig, onContentUpdate, onIconDataUpdate, isAdmin, isMobile, playicon, }: {
3
3
  jsonData?: null | undefined;
4
4
  contentMap?: {} | undefined;
5
5
  iconConfig?: any[] | undefined;
6
6
  onContentUpdate: any;
7
7
  onIconDataUpdate: any;
8
8
  isAdmin?: boolean | undefined;
9
- isMobile: any;
9
+ isMobile?: boolean | undefined;
10
+ playicon?: {} | undefined;
10
11
  }): import("react/jsx-runtime").JSX.Element;
@@ -32,230 +32,70 @@ const reactflow_1 = __importStar(require("reactflow"));
32
32
  // import "reactflow/dist/style.css";
33
33
  const FlashCardNode_1 = __importDefault(require("../FlashCardNode/FlashCardNode"));
34
34
  const MobileAccordionView_1 = require("../FlashCardNode/MobileAccordionView");
35
- const contentUtils_1 = require("../../../utils/contentUtils");
36
- const RecapGraph = ({ jsonData = null, contentMap = {}, iconConfig = [], onContentUpdate, onIconDataUpdate, isAdmin = false, isMobile, }) => {
37
- const [layout, setLayout] = (0, react_1.useState)({ nodes: [], edges: [] });
35
+ const useRecapGraphLogic_1 = require("./useRecapGraphLogic");
36
+ const RecapGraph = ({ jsonData = null, contentMap = {}, iconConfig = [], onContentUpdate, onIconDataUpdate, isAdmin = false, isMobile = false, playicon = {}, }) => {
37
+ const [layout, setLayout] = (0, react_1.useState)({
38
+ nodes: [],
39
+ edges: [],
40
+ bounds: null,
41
+ });
42
+ const logic = (0, useRecapGraphLogic_1.useRecapGraphLogic)(jsonData, contentMap, iconConfig);
38
43
  const nodeTypes = (0, react_1.useMemo)(() => ({
39
- flashcard: (props) => ((0, jsx_runtime_1.jsx)(FlashCardNode_1.default, { ...props, rootNodeId: layout.nodes.find((n) => n.data.level === 0)?.id, onContentUpdate: onContentUpdate, onIconDataUpdate: onIconDataUpdate, isAdmin: isAdmin })),
40
- }), [layout.nodes, onContentUpdate, isAdmin, onIconDataUpdate]);
41
- // Build nodes from hierarchical data
42
- const buildNodes = (data, contentMap, level = 0) => {
43
- const nodes = [];
44
- let level1ColorIndex = 0;
45
- const processNode = (nodeData, lvl, parentColorKey = null) => {
46
- let colorKey;
47
- let nodeColor;
48
- if (lvl === 0) {
49
- nodeColor = contentUtils_1.COLOR_MAP.root;
50
- colorKey = "root";
51
- }
52
- else if (lvl === 1) {
53
- colorKey = String(level1ColorIndex % 8);
54
- nodeColor = contentUtils_1.COLOR_MAP[colorKey];
55
- level1ColorIndex++;
56
- }
57
- else {
58
- colorKey = parentColorKey;
59
- nodeColor = contentUtils_1.LIGHT_COLOR_MAP[colorKey];
60
- }
61
- const nodeContent = contentMap[nodeData._id] || null;
62
- const hasContent = nodeContent &&
63
- ((nodeContent.videos && nodeContent.videos.length > 0) ||
64
- (nodeContent.recap && Object.keys(nodeContent.recap).length > 0));
65
- const node = {
66
- id: nodeData._id,
67
- type: "flashcard",
68
- data: {
69
- id: nodeData._id,
70
- label: nodeData?.description,
71
- color: nodeColor,
72
- content: nodeContent,
73
- hasContent: hasContent,
74
- bgColor: contentUtils_1.LIGHT_COLOR_MAP[colorKey],
75
- colorKey,
76
- level: lvl,
77
- hasMultipleChildren: nodeData.children && nodeData.children.length > 1,
78
- icons: iconConfig,
79
- },
80
- position: { x: 0, y: 0 },
81
- draggable: true,
82
- };
83
- nodes.push(node);
84
- if (nodeData.children?.length) {
85
- nodeData.children.forEach((child) => {
86
- processNode(child, lvl + 1, colorKey);
87
- });
88
- }
89
- };
90
- if (data)
91
- processNode(data, level);
92
- return nodes;
93
- };
94
- // Build edges from hierarchical data
95
- const buildEdges = (data, nodes, level = 0) => {
96
- const edges = [];
97
- const nodeColorMap = {};
98
- nodes.forEach((n) => {
99
- nodeColorMap[n.id] = n.data.color;
100
- });
101
- const processNode = (nodeData, lvl) => {
102
- if (nodeData.children && nodeData.children.length > 0) {
103
- nodeData.children.forEach((child) => {
104
- const sourceColor = nodeColorMap[nodeData._id] || "#94a3b8";
105
- // Determine handle positions based on level and number of children
106
- let sourceHandle = "bottom";
107
- let targetHandle = "top";
108
- // For level 1 nodes with multiple children: use bottom-to-left
109
- if (lvl >= 1 && nodeData.children.length > 1) {
110
- sourceHandle = "bottom";
111
- targetHandle = "left";
112
- }
113
- // For all other cases: use bottom-to-top (straight line)
114
- else {
115
- sourceHandle = "bottom";
116
- targetHandle = "top";
117
- }
118
- edges.push({
119
- id: `${nodeData._id}-${child._id}`,
120
- source: nodeData._id,
121
- target: child._id,
122
- sourceHandle: sourceHandle,
123
- targetHandle: targetHandle,
124
- type: "bezier",
125
- style: {
126
- stroke: sourceColor,
127
- strokeWidth: 2,
128
- },
129
- markerEnd: {
130
- type: "arrowclosed",
131
- color: sourceColor,
132
- width: 10,
133
- height: 10,
134
- },
135
- });
136
- processNode(child, lvl + 1);
137
- });
138
- }
139
- };
140
- if (data)
141
- processNode(data, level);
142
- return edges;
143
- };
144
- // Calculate subtree height for vertical stacking
145
- const calculateSubtreeHeight = (nodeId, edges) => {
146
- const childEdges = edges.filter((e) => e.source === nodeId);
147
- if (childEdges.length === 0) {
148
- return 80;
149
- }
150
- const childHeights = childEdges.map((edge) => {
151
- return calculateSubtreeHeight(edge.target, edges);
152
- });
153
- const totalHeight = childHeights.reduce((sum, h) => sum + h, 0) +
154
- (childHeights.length - 1) * 20;
155
- return totalHeight + 150;
156
- };
157
- // Compute layout
158
- const computeLayout = (inputNodes, inputEdges) => {
159
- if (!inputNodes || inputNodes.length === 0) {
44
+ flashcard: (props) => ((0, jsx_runtime_1.jsx)(FlashCardNode_1.default, { ...props, rootNodeId: jsonData?._id, onContentUpdate: onContentUpdate, onIconDataUpdate: onIconDataUpdate, isAdmin: isAdmin, isMobile: isMobile, playicon: playicon })),
45
+ }), [onContentUpdate, onIconDataUpdate, isAdmin, isMobile, jsonData?._id]);
46
+ const graphData = (0, react_1.useMemo)(() => {
47
+ if (!jsonData)
160
48
  return { nodes: [], edges: [] };
49
+ const nodes = logic.buildNodes(jsonData);
50
+ const edges = logic.buildEdges(jsonData, nodes);
51
+ return { nodes, edges };
52
+ }, [jsonData, logic?.activeExpandedNodeId]);
53
+ const computeBounds = (nodes) => {
54
+ if (!nodes || nodes.length === 0) {
55
+ return {
56
+ minX: -2000,
57
+ minY: -2000,
58
+ maxX: 2000,
59
+ maxY: 2000,
60
+ };
161
61
  }
162
- const nodeMap = {};
163
- inputNodes.forEach((n) => (nodeMap[n.id] = { ...n }));
164
- const horizontalGap = 660;
165
- const baseNodeHeight = 80;
166
- const verticalGapMultiplier = 4.5;
167
- const rightColumnOffset = 250;
168
- const childSpacing = 20;
169
- const getNodeLevel = (nodeId) => {
170
- const node = nodeMap[nodeId];
171
- return node?.data?.level || 0;
172
- };
173
- const getNodeHeight = (nodeId) => {
174
- const node = nodeMap[nodeId];
175
- return node?.data?.height || baseNodeHeight;
176
- };
177
- const positionNode = (nodeId, x, y) => {
178
- if (!nodeMap[nodeId])
179
- return;
180
- const level = getNodeLevel(nodeId);
181
- const nodeHeight = getNodeHeight(nodeId);
182
- const verticalGap = nodeHeight * verticalGapMultiplier;
183
- nodeMap[nodeId].position = { x, y };
184
- const childEdges = inputEdges.filter((e) => e.source === nodeId);
185
- if (childEdges.length === 0)
186
- return;
187
- const childIds = childEdges.map((e) => e.target);
188
- if (level === 0) {
189
- const totalWidth = (childIds.length - 1) * horizontalGap;
190
- childIds.forEach((childId, idx) => {
191
- const childX = idx * horizontalGap - totalWidth / 2;
192
- positionNode(childId, childX, y + verticalGap);
193
- });
194
- }
195
- else if (level === 1) {
196
- if (childIds.length === 1) {
197
- positionNode(childIds[0], x, y + verticalGap);
198
- }
199
- else {
200
- const childHeights = childIds.map((id) => calculateSubtreeHeight(id, inputEdges));
201
- const totalHeight = childHeights.reduce((sum, h) => sum + h, 0) +
202
- (childHeights.length - 1) * childSpacing;
203
- let currentY = y - totalHeight / 2;
204
- childIds.forEach((childId, idx) => {
205
- const childHeight = childHeights[idx];
206
- const childCenterY = currentY + childHeight / 2;
207
- positionNode(childId, x + rightColumnOffset, childCenterY + verticalGap * 1.5);
208
- currentY += childHeight + childSpacing;
209
- });
210
- }
211
- }
212
- else {
213
- if (childIds.length === 1) {
214
- positionNode(childIds[0], x, y + verticalGap);
215
- }
216
- else {
217
- const childHeights = childIds.map((id) => calculateSubtreeHeight(id, inputEdges));
218
- const totalHeight = childHeights.reduce((sum, h) => sum + h, 0) +
219
- (childHeights.length - 1) * childSpacing;
220
- let currentY = y - totalHeight / 2;
221
- childIds.forEach((childId, idx) => {
222
- const childHeight = childHeights[idx];
223
- const childCenterY = currentY + childHeight / 2;
224
- positionNode(childId, x + rightColumnOffset, childCenterY + verticalGap * 1.5);
225
- currentY += childHeight + childSpacing;
226
- });
227
- }
228
- }
229
- };
230
- const rootNode = inputNodes.find((n) => n.data.level === 0) || inputNodes[0];
231
- if (rootNode) {
232
- positionNode(rootNode.id, 0, 0);
233
- }
62
+ const minX = Math.min(...nodes.map((n) => n.position.x));
63
+ const maxX = Math.max(...nodes.map((n) => n.position.x + (n.width || 260)));
64
+ const minY = Math.min(...nodes.map((n) => n.position.y));
65
+ const maxY = Math.max(...nodes.map((n) => n.position.y + (n.height || 150)));
66
+ const PAD = 400;
234
67
  return {
235
- nodes: Object.values(nodeMap),
236
- edges: inputEdges,
68
+ minX: minX - PAD,
69
+ minY: minY - PAD,
70
+ maxX: maxX + PAD,
71
+ maxY: maxY + PAD,
237
72
  };
238
73
  };
239
- // Build graph data from jsonData
240
- const graphData = (0, react_1.useMemo)(() => {
241
- if (!jsonData) {
242
- return { nodes: [], edges: [] };
243
- }
244
- const nodes = buildNodes(jsonData, contentMap);
245
- const edges = buildEdges(jsonData, nodes);
246
- return { nodes, edges };
247
- }, [contentMap, iconConfig]);
248
- // Compute layout when graph data changes
249
74
  (0, react_1.useEffect)(() => {
250
- if (graphData.nodes.length > 0) {
251
- setLayout(computeLayout(graphData.nodes, graphData.edges));
252
- }
253
- }, [jsonData, contentMap, iconConfig]);
75
+ const res = logic.computeCustomLayout(graphData.nodes, graphData.edges);
76
+ setLayout((prev) => ({
77
+ nodes: graphData.nodes.map((n) => ({
78
+ ...n,
79
+ position: res.nodes.find((m) => m.id === n.id)?.position || n.position,
80
+ })),
81
+ edges: graphData.edges,
82
+ bounds: computeBounds(res.nodes),
83
+ }));
84
+ }, [logic.expandedNodeId, logic.expandedNodeHeight]);
85
+ const bounds = layout.bounds || {
86
+ minX: -2000,
87
+ minY: -2000,
88
+ maxX: 2000,
89
+ maxY: 2000,
90
+ };
254
91
  return ((0, jsx_runtime_1.jsx)("div", { style: {
255
- width: isAdmin ? "100vw" : "",
92
+ width: isAdmin ? "100vw" : "100%",
256
93
  height: isAdmin ? "100vh" : "90%",
257
94
  backgroundColor: "#f8fafc",
258
- }, children: isMobile ? ((0, jsx_runtime_1.jsx)(MobileAccordionView_1.MobileAccordionView, { jsonData: jsonData, contentMap: contentMap, iconConfig: iconConfig, onContentUpdate: onContentUpdate, onIconDataUpdate: onIconDataUpdate, isAdmin: isAdmin })) : ((0, jsx_runtime_1.jsxs)(reactflow_1.default, { nodes: layout.nodes, edges: layout.edges, nodeTypes: nodeTypes, fitView: true, proOptions: { hideAttribution: true }, style: { width: "100%", height: "100%" }, panOnDrag: true, selectionOnDrag: false, panOnScroll: true, paneMoveable: true, zoomOnScroll: true, elementsSelectable: true, nodesConnectable: false, children: [(0, jsx_runtime_1.jsx)(reactflow_1.Background, { variant: "none" }), (0, jsx_runtime_1.jsx)(reactflow_1.Controls, {})] })) }));
95
+ }, children: isMobile ? ((0, jsx_runtime_1.jsx)(MobileAccordionView_1.MobileAccordionView, { jsonData: jsonData, contentMap: contentMap, iconConfig: iconConfig, onContentUpdate: onContentUpdate, onIconDataUpdate: onIconDataUpdate, isAdmin: isAdmin, playicon: playicon })) : ((0, jsx_runtime_1.jsxs)(reactflow_1.default, { nodes: layout.nodes, edges: layout.edges, nodeTypes: nodeTypes, proOptions: { hideAttribution: true }, fitView: true, panOnScroll: true, panOnScrollMode: "free", zoomOnPinch: true, zoomOnScroll: false, panOnDrag: true, minZoom: 0.4, maxZoom: 1.6, translateExtent: [
96
+ [bounds.minX, bounds.minY],
97
+ [bounds.maxX, bounds.maxY],
98
+ ], children: [(0, jsx_runtime_1.jsx)(reactflow_1.Controls, { showFitView: false, showInteractive: false }), (0, jsx_runtime_1.jsx)(reactflow_1.Background, { variant: "none" })] })) }));
259
99
  };
260
100
  exports.default = RecapGraph;
261
101
  //# sourceMappingURL=Reactgraphflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reactgraphflow.js","sourceRoot":"","sources":["../../../../src/components/Organisms/RecapGraph/Reactgraphflow.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reactgraphflow.js","sourceRoot":"","sources":["../../../../src/components/Organisms/RecapGraph/Reactgraphflow.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export function useRecapGraphLogic(jsonData: any, contentMap: any, iconConfig: any): {
2
+ expandedNodeId: null;
3
+ expandedNodeHeight: number;
4
+ activeExpandedNodeId: null;
5
+ isTransitioning: boolean;
6
+ expandedNodes: {};
7
+ contentExpanded: {};
8
+ displayTypes: {};
9
+ videoIndices: {};
10
+ colorMap: {};
11
+ getNodeColors: (nodeId: any) => {
12
+ headerColor: any;
13
+ bgColor: any;
14
+ colorInfo: any;
15
+ };
16
+ getNodeContent: (nodeId: any) => {
17
+ nodeContent: any;
18
+ hasContent: any;
19
+ };
20
+ buildNodes: (data: any) => any[];
21
+ buildEdges: (data: any, nodes: any) => any[];
22
+ computeCustomLayout: (inputNodes: any, inputEdges: any) => {
23
+ nodes: any;
24
+ edges: any;
25
+ };
26
+ handleChevronClick: (nodeId: any) => void;
27
+ handleIconClick: (nodeId: any, type: any, availableContentTypes: any) => void;
28
+ setCurrentVideoIdx: (nodeId: any, idxOrUpdater: any) => void;
29
+ };