@cuemath/leap 3.5.52-as1 → 3.5.53-j1
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/features/homework/homework-card.js +122 -121
- package/dist/features/homework/homework-card.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +66 -61
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +56 -55
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js +32 -25
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js +16 -15
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js +17 -10
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +6 -6
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
- package/dist/features/milestone/create/comps/body-layout/body-layout.js +30 -29
- package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +77 -74
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +82 -79
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js +8 -8
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +48 -46
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/edit/goal-draft-edit-sync.js +26 -0
- package/dist/features/milestone/edit/goal-draft-edit-sync.js.map +1 -0
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +72 -66
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js +82 -0
- package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js +49 -0
- package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +109 -105
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +21 -16
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +106 -98
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +136 -117
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +96 -92
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js +25 -0
- package/dist/features/milestone/milestone-list-container/milestone-list-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +78 -81
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +39 -33
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +50 -0
- package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js +25 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +43 -53
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +218 -174
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +198 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +69 -67
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +46 -45
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +34 -32
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +52 -0
- package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -41
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -71
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js +5 -5
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +36 -26
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js +25 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +150 -89
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/sheet-v2/resource-list/resource-list.js +26 -24
- package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +218 -91
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js +7 -6
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js +75 -0
- package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js.map +1 -0
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js +125 -115
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/trial-session-types.js +3 -2
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +69 -54
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +44 -33
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +25 -22
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +48 -44
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +2 -2
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/index.d.ts +138 -2
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useRef as g, useMemo as i, useCallback as l, useEffect as h } from "react";
|
|
2
|
+
import { useMessageBrokerChannel as b } from "@cuemath/cue-message-broker";
|
|
3
|
+
const R = ({
|
|
4
|
+
channelId: r,
|
|
5
|
+
isTeacher: n
|
|
6
|
+
}) => {
|
|
7
|
+
const o = g(void 0), f = i(
|
|
8
|
+
() => ({
|
|
9
|
+
channelId: r,
|
|
10
|
+
ttl: 1
|
|
11
|
+
}),
|
|
12
|
+
[r]
|
|
13
|
+
), { channelStatus: u, setChannelMetadata: s, channelMetadata: a, channel: e } = b({
|
|
14
|
+
channelOptions: f,
|
|
15
|
+
metadataRequired: !0,
|
|
16
|
+
enabled: r !== void 0
|
|
17
|
+
}), d = i(() => {
|
|
18
|
+
if (!(n || !a))
|
|
19
|
+
return a;
|
|
20
|
+
}, [n, a]), S = l(
|
|
21
|
+
(t) => {
|
|
22
|
+
if (!n || !s) return;
|
|
23
|
+
const c = {
|
|
24
|
+
pageNumber: t.pageNumber,
|
|
25
|
+
searchValue: t.searchValue,
|
|
26
|
+
searchQuery: t.searchQuery,
|
|
27
|
+
selectedResourceItems: t.selectedResourceItems || [],
|
|
28
|
+
selectedTab: t.selectedTab,
|
|
29
|
+
filterExpansion: t.filterExpansion
|
|
30
|
+
}, p = JSON.stringify(c), y = JSON.stringify(o.current);
|
|
31
|
+
p !== y && (o.current = c, s(c));
|
|
32
|
+
},
|
|
33
|
+
[n, s]
|
|
34
|
+
), m = l(() => {
|
|
35
|
+
e && (e.removeChannelMetadata(), setTimeout(() => {
|
|
36
|
+
e.destroyChannel();
|
|
37
|
+
}, 500));
|
|
38
|
+
}, [e]);
|
|
39
|
+
return h(() => {
|
|
40
|
+
!u && e && e.init();
|
|
41
|
+
}, [e, u]), {
|
|
42
|
+
syncedState: d,
|
|
43
|
+
setSyncState: S,
|
|
44
|
+
closeChannel: m
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
R as useResourceAssignSync
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=use-resource-assign-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-resource-assign-sync.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { useMessageBrokerChannel } from '@cuemath/cue-message-broker';\n\nimport type { IEPResourceState } from '../resources-assign-type';\n\ninterface IUseResourceAssignSyncParams {\n channelId: string;\n isTeacher: boolean;\n initialState?: Partial<IEPResourceState>;\n}\n\ninterface IUseResourceAssignSync {\n syncedState: Partial<IEPResourceState> | undefined;\n setSyncState: (state: Partial<IEPResourceState>) => void;\n closeChannel: () => void;\n}\n\nexport const useResourceAssignSync = ({\n channelId,\n isTeacher,\n}: IUseResourceAssignSyncParams): IUseResourceAssignSync => {\n const prevStateRef = useRef<Partial<IEPResourceState> | undefined>(undefined);\n\n const channelOptions = useMemo(\n () => ({\n channelId,\n ttl: 1,\n }),\n [channelId],\n );\n\n const { channelStatus, setChannelMetadata, channelMetadata, channel } = useMessageBrokerChannel<\n never,\n Partial<IEPResourceState>\n >({\n channelOptions,\n metadataRequired: true,\n enabled: channelId !== undefined,\n });\n\n const syncedState = useMemo(() => {\n if (isTeacher || !channelMetadata) return undefined;\n\n return channelMetadata;\n }, [isTeacher, channelMetadata]);\n\n const setSyncState = useCallback(\n (state: Partial<IEPResourceState>) => {\n if (!isTeacher || !setChannelMetadata) return;\n\n const syncState = {\n pageNumber: state.pageNumber,\n searchValue: state.searchValue,\n searchQuery: state.searchQuery,\n selectedResourceItems: state.selectedResourceItems || [],\n selectedTab: state.selectedTab,\n filterExpansion: state.filterExpansion,\n };\n\n const currentStateString = JSON.stringify(syncState);\n const prevStateString = JSON.stringify(prevStateRef.current);\n\n if (currentStateString === prevStateString) return;\n\n prevStateRef.current = syncState;\n\n setChannelMetadata(syncState);\n },\n [isTeacher, setChannelMetadata],\n );\n\n const closeChannel = useCallback(() => {\n if (channel) {\n channel.removeChannelMetadata();\n setTimeout(() => {\n channel.destroyChannel();\n }, 500);\n }\n }, [channel]);\n\n useEffect(() => {\n if (!channelStatus && channel) {\n channel.init();\n }\n }, [channel, channelStatus]);\n\n return {\n syncedState,\n setSyncState,\n closeChannel,\n };\n};\n"],"names":["useResourceAssignSync","channelId","isTeacher","prevStateRef","useRef","channelOptions","useMemo","channelStatus","setChannelMetadata","channelMetadata","channel","useMessageBrokerChannel","syncedState","setSyncState","useCallback","state","syncState","currentStateString","prevStateString","closeChannel","useEffect"],"mappings":";;AAkBO,MAAMA,IAAwB,CAAC;AAAA,EACpC,WAAAC;AAAA,EACA,WAAAC;AACF,MAA4D;AACpD,QAAAC,IAAeC,EAA8C,MAAS,GAEtEC,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,WAAAL;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,IAEP,CAACA,CAAS;AAAA,EAAA,GAGN,EAAE,eAAAM,GAAe,oBAAAC,GAAoB,iBAAAC,GAAiB,SAAAC,EAAA,IAAYC,EAGtE;AAAA,IACA,gBAAAN;AAAA,IACA,kBAAkB;AAAA,IAClB,SAASJ,MAAc;AAAA,EAAA,CACxB,GAEKW,IAAcN,EAAQ,MAAM;AAC5B,QAAA,EAAAJ,KAAa,CAACO;AAEX,aAAAA;AAAA,EAAA,GACN,CAACP,GAAWO,CAAe,CAAC,GAEzBI,IAAeC;AAAA,IACnB,CAACC,MAAqC;AAChC,UAAA,CAACb,KAAa,CAACM,EAAoB;AAEvC,YAAMQ,IAAY;AAAA,QAChB,YAAYD,EAAM;AAAA,QAClB,aAAaA,EAAM;AAAA,QACnB,aAAaA,EAAM;AAAA,QACnB,uBAAuBA,EAAM,yBAAyB,CAAC;AAAA,QACvD,aAAaA,EAAM;AAAA,QACnB,iBAAiBA,EAAM;AAAA,MAAA,GAGnBE,IAAqB,KAAK,UAAUD,CAAS,GAC7CE,IAAkB,KAAK,UAAUf,EAAa,OAAO;AAE3D,MAAIc,MAAuBC,MAE3Bf,EAAa,UAAUa,GAEvBR,EAAmBQ,CAAS;AAAA,IAC9B;AAAA,IACA,CAACd,GAAWM,CAAkB;AAAA,EAAA,GAG1BW,IAAeL,EAAY,MAAM;AACrC,IAAIJ,MACFA,EAAQ,sBAAsB,GAC9B,WAAW,MAAM;AACf,MAAAA,EAAQ,eAAe;AAAA,OACtB,GAAG;AAAA,EACR,GACC,CAACA,CAAO,CAAC;AAEZ,SAAAU,EAAU,MAAM;AACV,IAAA,CAACb,KAAiBG,KACpBA,EAAQ,KAAK;AAAA,EACf,GACC,CAACA,GAASH,CAAa,CAAC,GAEpB;AAAA,IACL,aAAAK;AAAA,IACA,cAAAC;AAAA,IACA,cAAAM;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as u } from "react/jsx-runtime";
|
|
2
|
+
import { memo as a, useEffect as m } from "react";
|
|
3
|
+
import { useResourceAssignSync as f } from "./hooks/use-resource-assign-sync.js";
|
|
4
|
+
import p from "./resources-assign.js";
|
|
5
|
+
const d = a(function(n) {
|
|
6
|
+
const { channelId: t, userType: s, ...r } = n, e = s === "TEACHER", { syncedState: c, setSyncState: i, closeChannel: o } = f({
|
|
7
|
+
channelId: t,
|
|
8
|
+
isTeacher: e
|
|
9
|
+
});
|
|
10
|
+
return m(() => () => {
|
|
11
|
+
o();
|
|
12
|
+
}, [o]), /* @__PURE__ */ u(
|
|
13
|
+
p,
|
|
14
|
+
{
|
|
15
|
+
...r,
|
|
16
|
+
userType: s,
|
|
17
|
+
state: e ? void 0 : c,
|
|
18
|
+
onStateChange: e ? i : void 0
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
d as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=resource-assign-sync.js.map
|
package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-assign-sync.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-assign/resource-assign-sync.tsx"],"sourcesContent":["import { memo, useEffect, type FC } from 'react';\n\nimport type { TUserTypes } from '../../../ui/types';\nimport { useResourceAssignSync } from './hooks/use-resource-assign-sync';\nimport EPResourceAssign from './resources-assign';\nimport type { IEPResourceAssign } from './resources-assign-type';\n\ninterface IEPResourceAssignSync extends Omit<IEPResourceAssign, 'state' | 'onStateChange'> {\n channelId: string;\n userType: TUserTypes;\n isTrialSession?: boolean;\n}\n\nconst EPResourceAssignSync: FC<IEPResourceAssignSync> = memo(function EPResourceAssignSync(props) {\n const { channelId, userType, ...resourceAssignProps } = props;\n\n const isTeacher = userType === 'TEACHER';\n\n const { syncedState, setSyncState, closeChannel } = useResourceAssignSync({\n channelId,\n isTeacher,\n });\n\n useEffect(() => {\n return () => {\n closeChannel();\n };\n }, [closeChannel]);\n\n return (\n <EPResourceAssign\n {...resourceAssignProps}\n userType={userType}\n state={isTeacher ? undefined : syncedState}\n onStateChange={isTeacher ? setSyncState : undefined}\n />\n );\n});\n\nexport default EPResourceAssignSync;\n"],"names":["EPResourceAssignSync","memo","props","channelId","userType","resourceAssignProps","isTeacher","syncedState","setSyncState","closeChannel","useResourceAssignSync","useEffect","jsx","EPResourceAssign"],"mappings":";;;;AAaA,MAAMA,IAAkDC,EAAK,SAA8BC,GAAO;AAChG,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,MAAwBH,GAElDI,IAAYF,MAAa,WAEzB,EAAE,aAAAG,GAAa,cAAAC,GAAc,cAAAC,EAAA,IAAiBC,EAAsB;AAAA,IACxE,WAAAP;AAAA,IACA,WAAAG;AAAA,EAAA,CACD;AAED,SAAAK,EAAU,MACD,MAAM;AACE,IAAAF;EAAA,GAEd,CAACA,CAAY,CAAC,GAGf,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,UAAAD;AAAA,MACA,OAAOE,IAAY,SAAYC;AAAA,MAC/B,eAAeD,IAAYE,IAAe;AAAA,IAAA;AAAA,EAAA;AAGhD,CAAC;"}
|
|
@@ -1,78 +1,68 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { memo as _, useRef as y, useMemo as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { RESOURCE_ASSIGN_ANALYTICS_EVENTS as
|
|
9
|
-
import L from "
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
totalPages: i,
|
|
15
|
-
resourceItems: l,
|
|
16
|
-
selectedResource: o,
|
|
17
|
-
assigningInProgress: f,
|
|
18
|
-
isFilterAdded: p,
|
|
19
|
-
onResourceAdditionOrDeletion: g,
|
|
20
|
-
onResourceAssign: h,
|
|
21
|
-
onViewResource: $,
|
|
22
|
-
onPageNumberUpdate: m
|
|
23
|
-
} = a, c = y(null), R = b(
|
|
1
|
+
import { jsxs as a, jsx as t, Fragment as E } from "react/jsx-runtime";
|
|
2
|
+
import A from "../../../../../node_modules/lodash.debounce/index.js";
|
|
3
|
+
import { memo as _, useRef as y, useMemo as N, useEffect as b } from "react";
|
|
4
|
+
import x from "../../../../../assets/line-icons/icons/sheet.js";
|
|
5
|
+
import C from "../../../../ui/layout/flex-view.js";
|
|
6
|
+
import T from "../../../../ui/text/text.js";
|
|
7
|
+
import P from "../comps/resource-item/resource-item.js";
|
|
8
|
+
import { RESOURCE_ASSIGN_ANALYTICS_EVENTS as X } from "../resource-assign-analytics-events.js";
|
|
9
|
+
import { useResourceItems as j, useSelectedResources as w, useSearchState as L, usePagination as v, useApiState as U } from "../store/resource-assign-store.js";
|
|
10
|
+
import B from "./no-resource-screen.js";
|
|
11
|
+
import { ResourceItemWrapper as d, ButtonWrapper as D, StyledButton as F } from "./resource-items-styled.js";
|
|
12
|
+
const Q = _(function(f) {
|
|
13
|
+
const { assigningInProgress: p, userType: l, onResourceAssign: g, onViewResource: h, onPageNumberUpdate: m } = f, u = j(), r = w(), { isFilterAdded: S } = L(), o = v(), { totalPages: c } = U(), i = y(null), $ = N(
|
|
24
14
|
() => ({
|
|
25
|
-
node_ids:
|
|
15
|
+
node_ids: r.map(({ node_id: e }) => e)
|
|
26
16
|
}),
|
|
27
|
-
[
|
|
17
|
+
[r]
|
|
28
18
|
);
|
|
29
|
-
return
|
|
30
|
-
const e =
|
|
19
|
+
return b(() => {
|
|
20
|
+
const e = i.current;
|
|
31
21
|
if (e) {
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
22
|
+
const s = A(() => {
|
|
23
|
+
const n = e ? e.scrollTop / (e.scrollHeight - e.clientHeight) : 0;
|
|
24
|
+
o && c && n > 0.85 && o < c && m(o + 1);
|
|
35
25
|
}, 300);
|
|
36
|
-
return e.addEventListener("scroll",
|
|
37
|
-
e.removeEventListener("scroll",
|
|
26
|
+
return e.addEventListener("scroll", s), () => {
|
|
27
|
+
e.removeEventListener("scroll", s);
|
|
38
28
|
};
|
|
39
29
|
}
|
|
40
|
-
}, [
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
] }) : /* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
const { id:
|
|
46
|
-
return /* @__PURE__ */
|
|
47
|
-
|
|
30
|
+
}, [i, o, c, m]), u.length === 0 ? S ? /* @__PURE__ */ a(C, { $height: "100%", $alignItems: "center", $justifyContent: "center", children: [
|
|
31
|
+
/* @__PURE__ */ t(x, { opacity: 0.38 }),
|
|
32
|
+
/* @__PURE__ */ t(T, { $renderAs: "ub1-bold", $color: "BLACK_T_38", children: "No sheets match the selected filters" })
|
|
33
|
+
] }) : /* @__PURE__ */ t(d, { $alignItems: "center", $justifyContent: "center", $overflowHidden: !0, children: /* @__PURE__ */ t(B, {}) }) : /* @__PURE__ */ a(E, { children: [
|
|
34
|
+
/* @__PURE__ */ t(d, { $gapX: 1.5, $gutterX: 1.5, $flexGapX: 1.125, ref: i, children: u.map((e) => {
|
|
35
|
+
const { id: s, node_id: n } = e, R = r.some((I) => I.node_id === n);
|
|
36
|
+
return /* @__PURE__ */ t(
|
|
37
|
+
P,
|
|
48
38
|
{
|
|
49
39
|
resource: e,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
onViewResource: h,
|
|
41
|
+
selected: R,
|
|
42
|
+
userType: l
|
|
53
43
|
},
|
|
54
|
-
`${
|
|
44
|
+
`${s}_${n}`
|
|
55
45
|
);
|
|
56
46
|
}) }),
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
r.length > 0 && l !== "STUDENT" && /* @__PURE__ */ t(
|
|
48
|
+
D,
|
|
59
49
|
{
|
|
60
50
|
$flexDirection: "row",
|
|
61
51
|
$justifyContent: "flex-end",
|
|
62
52
|
$gapX: 1,
|
|
63
53
|
$gutterX: 1,
|
|
64
|
-
children: /* @__PURE__ */
|
|
65
|
-
|
|
54
|
+
children: /* @__PURE__ */ t(
|
|
55
|
+
F,
|
|
66
56
|
{
|
|
67
57
|
renderAs: "primary",
|
|
68
58
|
label: "Assign",
|
|
69
59
|
shape: "square",
|
|
70
60
|
size: "small",
|
|
71
61
|
widthX: 8.5,
|
|
72
|
-
analyticsLabel:
|
|
73
|
-
analyticsProps:
|
|
74
|
-
onClick:
|
|
75
|
-
busy:
|
|
62
|
+
analyticsLabel: X.RESOURCE_ASSIGNED,
|
|
63
|
+
analyticsProps: $,
|
|
64
|
+
onClick: g,
|
|
65
|
+
busy: p
|
|
76
66
|
}
|
|
77
67
|
)
|
|
78
68
|
}
|
|
@@ -80,6 +70,6 @@ const q = _(function(a) {
|
|
|
80
70
|
] });
|
|
81
71
|
});
|
|
82
72
|
export {
|
|
83
|
-
|
|
73
|
+
Q as default
|
|
84
74
|
};
|
|
85
75
|
//# sourceMappingURL=resource-items.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-items.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.tsx"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { type FC, memo, useEffect, useMemo, useRef } from 'react';\n\nimport SheetIcon from '../../../../../assets/line-icons/icons/sheet';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ResourceItem from '../comps/resource-item/resource-item';\nimport { RESOURCE_ASSIGN_ANALYTICS_EVENTS } from '../resource-assign-analytics-events';\nimport NoResourceScreen from './no-resource-screen';\nimport * as Styled from './resource-items-styled';\nimport type { IResourceItems } from './resource-items-types';\n\nconst ResourceItems: FC<IResourceItems> = memo(function ResourceItems(props) {\n const {
|
|
1
|
+
{"version":3,"file":"resource-items.js","sources":["../../../../../../src/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.tsx"],"sourcesContent":["import debounce from 'lodash.debounce';\nimport { type FC, memo, useEffect, useMemo, useRef } from 'react';\n\nimport SheetIcon from '../../../../../assets/line-icons/icons/sheet';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ResourceItem from '../comps/resource-item/resource-item';\nimport { RESOURCE_ASSIGN_ANALYTICS_EVENTS } from '../resource-assign-analytics-events';\nimport {\n useResourceItems,\n useSelectedResources,\n useSearchState,\n usePagination,\n useApiState,\n} from '../store/resource-assign-store';\nimport NoResourceScreen from './no-resource-screen';\nimport * as Styled from './resource-items-styled';\nimport type { IResourceItems } from './resource-items-types';\n\nconst ResourceItems: FC<IResourceItems> = memo(function ResourceItems(props) {\n const { assigningInProgress, userType, onResourceAssign, onViewResource, onPageNumberUpdate } =\n props;\n\n const resourceItems = useResourceItems();\n const selectedResource = useSelectedResources();\n const { isFilterAdded } = useSearchState();\n const pageNumber = usePagination();\n const { totalPages } = useApiState();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const analyticsProps = useMemo(\n () => ({\n node_ids: selectedResource.map(({ node_id: nodeId }) => nodeId),\n }),\n [selectedResource],\n );\n\n useEffect(() => {\n const scrollElement = containerRef.current;\n\n if (scrollElement) {\n const handleScroll = debounce(() => {\n const scrollPercentage = scrollElement\n ? scrollElement.scrollTop / (scrollElement.scrollHeight - scrollElement.clientHeight)\n : 0;\n\n if (pageNumber && totalPages)\n if (scrollPercentage > 0.85 && pageNumber < totalPages) {\n onPageNumberUpdate(pageNumber + 1);\n }\n }, 300);\n\n scrollElement.addEventListener('scroll', handleScroll);\n\n return () => {\n scrollElement.removeEventListener('scroll', handleScroll);\n };\n }\n }, [containerRef, pageNumber, totalPages, onPageNumberUpdate]);\n\n if (resourceItems.length === 0) {\n return isFilterAdded ? (\n <FlexView $height=\"100%\" $alignItems=\"center\" $justifyContent=\"center\">\n <SheetIcon opacity={0.38} />\n <Text $renderAs=\"ub1-bold\" $color=\"BLACK_T_38\">\n No sheets match the selected filters\n </Text>\n </FlexView>\n ) : (\n <Styled.ResourceItemWrapper $alignItems=\"center\" $justifyContent=\"center\" $overflowHidden>\n <NoResourceScreen />\n </Styled.ResourceItemWrapper>\n );\n }\n\n return (\n <>\n <Styled.ResourceItemWrapper $gapX={1.5} $gutterX={1.5} $flexGapX={1.125} ref={containerRef}>\n {resourceItems.map(item => {\n const { id, node_id: nodeId } = item;\n const selected = selectedResource.some(resource => resource.node_id === nodeId);\n\n return (\n <ResourceItem\n key={`${id}_${nodeId}`}\n resource={item}\n onViewResource={onViewResource}\n selected={selected}\n userType={userType}\n />\n );\n })}\n </Styled.ResourceItemWrapper>\n\n {selectedResource.length > 0 && userType !== 'STUDENT' && (\n <Styled.ButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n label=\"Assign\"\n shape=\"square\"\n size=\"small\"\n widthX={8.5}\n analyticsLabel={RESOURCE_ASSIGN_ANALYTICS_EVENTS.RESOURCE_ASSIGNED}\n analyticsProps={analyticsProps}\n onClick={onResourceAssign}\n busy={assigningInProgress}\n />\n </Styled.ButtonWrapper>\n )}\n </>\n );\n});\n\nexport default ResourceItems;\n"],"names":["ResourceItems","memo","props","assigningInProgress","userType","onResourceAssign","onViewResource","onPageNumberUpdate","resourceItems","useResourceItems","selectedResource","useSelectedResources","isFilterAdded","useSearchState","pageNumber","usePagination","totalPages","useApiState","containerRef","useRef","analyticsProps","useMemo","nodeId","useEffect","scrollElement","handleScroll","debounce","scrollPercentage","FlexView","jsx","SheetIcon","Text","Styled.ResourceItemWrapper","NoResourceScreen","jsxs","Fragment","item","id","selected","resource","ResourceItem","Styled.ButtonWrapper","Styled.StyledButton","RESOURCE_ASSIGN_ANALYTICS_EVENTS"],"mappings":";;;;;;;;;;;AAmBA,MAAMA,IAAoCC,EAAK,SAAuBC,GAAO;AAC3E,QAAM,EAAE,qBAAAC,GAAqB,UAAAC,GAAU,kBAAAC,GAAkB,gBAAAC,GAAgB,oBAAAC,EACvE,IAAAL,GAEIM,IAAgBC,KAChBC,IAAmBC,KACnB,EAAE,eAAAC,MAAkBC,KACpBC,IAAaC,KACb,EAAE,YAAAC,MAAeC,KAEjBC,IAAeC,EAAuB,IAAI,GAC1CC,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,UAAUX,EAAiB,IAAI,CAAC,EAAE,SAASY,QAAaA,CAAM;AAAA,IAAA;AAAA,IAEhE,CAACZ,CAAgB;AAAA,EAAA;AA0Bf,SAvBJa,EAAU,MAAM;AACd,UAAMC,IAAgBN,EAAa;AAEnC,QAAIM,GAAe;AACX,YAAAC,IAAeC,EAAS,MAAM;AAClC,cAAMC,IAAmBH,IACrBA,EAAc,aAAaA,EAAc,eAAeA,EAAc,gBACtE;AAEJ,QAAIV,KAAcE,KACZW,IAAmB,QAAQb,IAAaE,KAC1CT,EAAmBO,IAAa,CAAC;AAAA,SAEpC,GAAG;AAEQ,aAAAU,EAAA,iBAAiB,UAAUC,CAAY,GAE9C,MAAM;AACG,QAAAD,EAAA,oBAAoB,UAAUC,CAAY;AAAA,MAAA;AAAA,IAE5D;AAAA,KACC,CAACP,GAAcJ,GAAYE,GAAYT,CAAkB,CAAC,GAEzDC,EAAc,WAAW,IACpBI,sBACJgB,GAAS,EAAA,SAAQ,QAAO,aAAY,UAAS,iBAAgB,UAC5D,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,SAAS,KAAM,CAAA;AAAA,sBACzBC,GAAK,EAAA,WAAU,YAAW,QAAO,cAAa,UAE/C,wCAAA;AAAA,EAAA,EACF,CAAA,IAEA,gBAAAF,EAACG,GAAA,EAA2B,aAAY,UAAS,iBAAgB,UAAS,iBAAe,IACvF,UAAA,gBAAAH,EAACI,KAAiB,EACpB,CAAA,IAMA,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAN,EAACG,GAAA,EAA2B,OAAO,KAAK,UAAU,KAAK,WAAW,OAAO,KAAKd,GAC3E,UAAAV,EAAc,IAAI,CAAQ4B,MAAA;AACzB,YAAM,EAAE,IAAAC,GAAI,SAASf,EAAA,IAAWc,GAC1BE,IAAW5B,EAAiB,KAAK,CAAY6B,MAAAA,EAAS,YAAYjB,CAAM;AAG5E,aAAA,gBAAAO;AAAA,QAACW;AAAA,QAAA;AAAA,UAEC,UAAUJ;AAAA,UACV,gBAAA9B;AAAA,UACA,UAAAgC;AAAA,UACA,UAAAlC;AAAA,QAAA;AAAA,QAJK,GAAGiC,CAAE,IAAIf,CAAM;AAAA,MAAA;AAAA,IAOzB,CAAA,GACH;AAAA,IAECZ,EAAiB,SAAS,KAAKN,MAAa,aAC3C,gBAAAyB;AAAA,MAACY;AAAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,QAEV,UAAA,gBAAAZ;AAAA,UAACa;AAAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAM;AAAA,YACN,OAAM;AAAA,YACN,MAAK;AAAA,YACL,QAAQ;AAAA,YACR,gBAAgBC,EAAiC;AAAA,YACjD,gBAAAvB;AAAA,YACA,SAASf;AAAA,YACT,MAAMF;AAAA,UAAA;AAAA,QACR;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
|